200000
107438 75331
651042030 181247955 337701673 277764173 203327558 604859433 159749630 136196098 549836109 178431598 588604599 548698897 680399247 930915498 493861477 467302867 254861435 757937977 988950444 583824491 607891372 651044734 542571556 777570142 133340607 313653453 729112846 857468478 714430238 956127903 117284590 501192879 887648708 801107785 151776173 419480843 284029429 240416775 270042420 280371009 801645144 913065204 148070794 651529741 671524306 559365168 940667772 481035586 245008031 632031435 595043679 581292924 149447369 161505083 642430765 257829940 210051733 330917337 662315748 434831798 213083520 102468051 786897243 615954837 368148361 995141001 339191947 991495959 200752180 973142682 883553430 680098175 247154631 262267764 322696397 655770972 249874886 363210395 596259684 186259085 825273048 351500119 466467946 584328518 110242124 780737762 245541667 914453068 383836217 839403701 126161046 264616541 119867815 156577284 718658058 225924204 849600156 899071431 690440770 920700792 134200066 623555051 846661141 695087376 974561630 685056666 532644999 529653022 454886671 503359461 271508142 230550028 181086237 535479272 246713159 331508100 993754079 600270756 633168604 770198426 513527705 353254736 336779420 783788718 632525569 678959895 425099618 456342746 459271767 311439516 780968895 133825583 858073823 245476890 332408856 956778687 191985281 297193134 305689659 257671938 689741281 297621895 651332239 542165915 461366307 738024702 494721145 486988672 752766922 116990021 142696237 168427180 787181053 632834058 578100223 462328690 749222199 411300045 301423878 758322611 948843424 491934642 162335358 669254220 115151816 245250451 166360067 778575068 181915380 174065568 551688318 896363574 446943404 965680095 893984130 469892730 265383676 475677957 447988203 235407392 957803184 694378966 195525929 732123218 395588816 693131796 905405385 217680784 603924036 936743219 450539153 997680825 330257510 461935574 283513653 641418719 711376232 813591488 606109259 718932114 253579753 293260697 695647873 346352993 646438562 776735116 250788701 151860823 972891314 537331242 282212388 231944339 181257213 346363968 496829616 397275698 279351323 225940310 521172500 601913563 737130183 369467872 510949141 220287156 616027039 914909051 394493136 480055645 351223657 515333377 454694174 177972426 216797429 749890010 767647126 672450820 375085803 265861431 788313821 981758658 742255464 410689516 581330142 884779391 422713092 607039896 314222157 687922853 146207645 724559974 269765868 812339292 738184519 186250534 633741019 742101158 808865657 990960950 889612893 880228707 330965547 137958888 148270685 281155086 996739381 699986643 998770538 561707578 672824363 395925131 948721071 689992300 952553264 259938314 258858124 735423294 685766715 331193139 781722195 383184106 786662235 194706902 695426937 373990898 400560038 691600150 244178903 180017307 932756425 260447325 508884961 294389429 744668285 303099163 417995407 255310293 686825129 770350209 998588067 959057055 254393207 415824357 825915388 687113312 696321366 654484036 121694581 504321570 716540467 272989471 461425021 729112227 924688122 925338849 784637405 794809587 236629626 391585699 591949005 962759122 837330555 731897798 115830912 781197194 153016330 619649297 654016925 436369327 177855376 385266159 315034249 181179333 678021885 125538861 118862242 434087096 380566148 222283943 473608532 285180647 747078217 803496581 189349122 935616930 457790860 643754242 861716314 759012941 808513081 882232727 455392445 814528554 395885922 446894567 420837276 677000185 892720974 646043297 126271015 734131205 645034513 366312639 524331133 308329679 456258928 438200590 987955841 962037144 908621204 153350851 858937734 464582489 283183501 632388111 868031532 367737298 803405253 410478556 788543796 281079977 664181292 408602232 729733895 754632137 149023903 792202789 961746638 352442656 217148086 842266600 143888057 748156698 981310228 126505908 853637543 758666134 143690465 975788379 584752147 318175558 487392812 216651608 156361855 210452297 207480791 716226499 786861429 250352610 983150610 580122296 312486100 861889440 813292862 677247678 499915569 230731233 165438073 443496773 249721575 214214188 411485810 109999345 167779564 674797517 916593113 843741093 166665544 489417581 784200155 966078108 220680700 914164170 281299374 322901221 288474544 375848783 269531866 577412500 100303603 258252204 890184031 620704672 232370282 300164986 315204761 974960154 254815141 878932740 609512028 785277588 740496583 709229523 661290373 115158875 632062120 643570558 460812304 272790249 568576558 563800955 358775518 425140625 917357366 690274531 138921482 342663893 529928493 738584679 581209348 963620842 892423366 948764367 234297060 590058608 740273456 676055223 251677606 143618736 741051972 222913443 376218306 943708112 141083398 667564708 609916298 955584227 678775598 612220313 201801685 704748062 774498842 292899863 385472645 455117625 839618293 969607468 855804211 772977302 887914323 912327912 597473894 222181600 882274400 398744592 973214286 645815230 896737173 651687747 997133157 725723216 527980994 517011245 146273110 337175783 905460236 685680375 692936325 839764162 727355990 256973014 447529801 676374878 578745754 356461699 147019639 708445473 995056689 542356477 503861709 791131491 447535460 373501670 243146536 769231870 766668825 973635990 705362054 860169186 323332652 275805233 781222118 197735600 123991797 455387494 957089918 443630386 383539635 180149533 134730219 986718761 450064189 623407731 475238371 233372551 738503426 954492271 270722542 663544022 393046046 559562710 640299591 842626540 913128415 470007897 444461857 236179084 191062325 540020233 722123630 993054779 553914182 533444007 302896122 864460033 439025332 163167112 495164007 351496191 682731803 536477608 260396177 173705470 268523718 301163496 180983097 861060881 813955831 528779152 360652595 645702283 517910817 706963559 128855471 867033394 506342432 382630085 614376101 426409579 485811595 893590575 597853395 946446726 556178034 194384604 428653382 589252945 249819676 494809276 474336976 830141095 581234607 480583392 503230783 597318933 880778653 665193876 702782917 598429423 500398188 848235378 360076355 861957190 235998533 522331785 854956624 238656305 938104914 835757614 322103825 132758222 322266122 374834144 653023148 650356228 533691847 759000202 205784941 933447441 408546843 965481775 899564403 346286035 800111223 730373594 860831714 656874885 244634578 946544456 267505780 352513251 519936311 354860096 914387595 515466662 734347751 672078627 836069373 359819731 291154045 811393832 744300121 819729922 509490195 483808192 598493036 717481123 528148440 920979572 808768722 422141814 428915610 959524546 345906596 901523361 497552364 920726857 321505983 136466542 189169501 424760224 488782296 290412576 896239352 756770005 174525318 365202509 620449272 536018993 647747892 197323788 890901162 826230822 862138486 462302646 694169164 650455954 681182044 895076067 326355832 720209073 200886636 235575039 865437810 853382632 659149243 558819092 705276077 351515498 794859699 682113238 275665776 102215864 557706000 569492862 303976635 666472267 142053019 579382608 158536407 553329424 696376955 178386169 283656893 905745207 386126946 556865287 180216800 883508790 355503317 804155157 390830584 566713839 929842650 256740676 116907470 570467164 397941170 753665195 517031026 311486461 202151621 940002327 929601248 192593497 904692306 661601548 687761720 546223882 338927127 420875734 748012805 794592841 927744924 570912090 655542424 732556573 779552036 442544868 181009496 167966440 370498881 400224972 939246588 946244537 852626415 884417719 606869664 104914040 851890809 712794616 110247561 800293787 927739990 737944297 729499246 429715702 621577583 135972937 953851744 260577007 402975411 757894894 645847139 130165535 895579515 160884751 319301162 187949334 155753681 833477802 168364153 111998315 383160653 406728256 626558055 787656201 242721270 290123686 231290964 518707432 536031892 330132018 202720737 703532369 755655673 397248573 466084116 801389695 495183222 992784107 271615682 301258093 303309207 270735549 894601797 813489898 567743101 494552323 835865018 319258922 950416378 328492288 272167098 289790188 733498892 968366563 106318322 838226680 479666857 498948372 656027773 456476107 642946320 576169647 601425774 537278959 202819520 278877608 990797489 404360454 941059514 947961149 878053624 500177767 289359747 464846631 541696220 416510634 615725045 541922833 100816674 189180879 351794839 756576343 794849248 486167293 290060310 339975796 144102157 648511283 782256389 182184785 677316719 126415746 359837870 451032705 888294261 416890647 693499505 424415875 640074248 568815714 335847157 541499479 634696886 660068909 782651370 511218336 731757736 438976760 977820807 251394253 147726393 896937453 719923565 942368881 619079588 238615294 157570464 254597582 814125583 729808581 419854114 810621670 211932080 328182546 148473628 206675151 975165392 820950466 212032160 559207765 256694408 904099398 471600871 258047426 618132230 858633678 606810084 612634237 608508578 506628014 221459884 662373924 794280555 213691117 585022232 728365556 759470153 607892650 996839428 694502166 634001579 676998534 747072492 872786884 781637165 855947216 894454811 377436565 888459104 308114768 794279210 176342773 573448010 986363635 634647834 700624320 766110325 519892151 296014291 564539311 961373449 559163454 402554780 239051561 272782855 746350525 827169817 367152789 274199147 497166231 772737915 598418381 530337930 364790060 749215548 563119481 157221637 783649225 746070786 606544411 681864795 858971777 251255819 705667501 770065358 999222049 933545195 499237302 172276946 237257626 275025669 268964114 951327529 846149673 729730287 524106085 423954911 968300722 691808964 383947328 874830237 648612956 508982507 640343778 192520690 324815891 992503067 623420410 830986119 520755575 801553384 677020311 501233021 624664601 841658951 831519898 703002024 834221711 591933571 746615936 867959295 234470440 443579413 797770496 551745094 487825012 961279106 656554772 883622979 161176896 741080594 559867927 418154233 308675511 721363057 252222122 444447813 411235002 178753638 510921188 546407618 811886943 682056814 584302411 322455197 594739053 722937350 933024915 862441142 382649242 161324376 501347422 756055798 256099336 297502512 615438628 214958086 949674379 385691815 204126687 341638994 462970921 608110035 468585131 385363243 898297883 281867096 660490995 232061671 908472604 304948040 590510583 167869621 697958552 329326784 466802246 669858355 442635319 902585995 630545102 590388976 463167158 974417886 391136760 635461780 892043768 437164471 227242029 614207798 990889847 145677395 162560398 954933401 752067624 203773492 505236735 868133415 617716514 426294806 577836811 389700580 135981183 562103593 816322025 361579821 923593550 858200192 773466977 501380070 307907668 395728695 265511695 166770399 932925083 538585444 731389486 699281415 789745484 736267650 715553328 605996460 159802544 976153332 343786094 983550833 500034626 220961864 237449456 587334513 841133150 592017320 747430152 836494180 860187476 670400225 200376131 850928318 179236109 938350387 660587186 696694912 920759563 495063478 934432108 803087156 312541064 206940689 749805236 121269912 468974824 572330178 597358468 334055448 351682444 511167158 202288200 714970916 762592692 198331022 205260704 227483539 503276517 915176877 678495261 180321599 276844476 712180736 778621102 943049127 443865819 889426215 152048212 257936390 427279549 294319290 900541296 749093061 249917564 322597742 263496251 778482785 743381485 386613429 829917334 981559394 946432766 435782139 104359220 592356735 221990747 976893569 654188119 614843233 461878063 652898110 944802108 656846193 995437193 241841251 641214932 193617048 560061565 311644471 926798772 163697508 696223226 609354194 471202265 257735916 512648839 571989272 166727963 502040182 886056790 540594215 510540469 879024031 438848535 938464734 905615165 356351433 476773666 880069798 799572970 701853374 962201445 140575924 540017316 178840141 133878256 242138295 201697159 324446837 259240103 871966596 326397510 952276899 516231575 195476296 959956582 444537480 465831981 333708507 603830514 953656049 350258734 678170445 821408311 916984875 697644391 983029055 678785165 834544918 638790859 444290189 634037272 946753815 623102420 343556811 259518714 563152923 370439236 162374144 266330190 620010842 562332378 607249382 471951649 978057060 284061488 216114518 716252819 769257520 277194748 815903448 885179372 519041819 354378860 887991752 613800889 128282632 912335787 614527400 279160634 771625649 813347525 784674474 737193616 940655134 129099564 492295035 510002990 262659595 293079814 690151421 948736970 906732727 472448162 704563247 230952978 660624601 902629827 857861330 537097921 468486229 405797749 662202181 370576534 408872882 907772065 998139603 556846695 117042561 820546021 916922309 891412649 463891807 903900983 711738559 222637716 991844983 232734844 441067507 899464300 270343911 886580622 298520800 424072125 194871556 706574350 768288253 114435062 998885958 928057058 827859867 278933006 922936383 632774704 798723623 106985993 159126338 309197581 584300683 505828543 716145740 243996300 507287654 815997667 663314336 134851273 766051615 818188232 423388709 452026443 565900163 332053195 463590214 947846016 349134417 167243793 872087912 645977076 224869678 753525255 245800067 855367704 241682281 158493079 780419229 639143490 915565519 506056511 842938618 641249983 438834570 103637201 547230404 172419748 196557187 923285816 195846907 961719086 729084569 658999409 853129237 885272439 330593738 222492546 261447649 122637769 432781471 644790897 562803790 234949240 452307409 837312461 623220323 808173335 398208333 849135820 369633583 897764630 163515531 138042597 620920917 831293006 819558190 656487645 947518074 225119274 457037563 635759625 611609067 913618312 435835000 328642302 272359411 559656440 863793076 593214662 577784918 644462002 597732605 567377369 162479280 957201900 908971978 600190806 110999138 504968417 776466092 738685105 552135415 638431895 790494776 608224224 836339299 338480167 542973459 131443050 667044698 399625193 747102194 378589501 480687688 700402109 205779030 359250980 918034650 600307992 769581044 684570221 113855505 527587875 846882499 432445413 346573312 197005139 774262437 755520419 194403845 359704446 261663343 165672066 308308367 660311034 859602297 228319285 243021107 110758937 155460769 684082147 435022219 414225326 936064920 291723942 870861337 812872934 261731488 953952807 479363353 754470904 616514623 405047005 551364711 629895516 718799012 297289456 258700237 456666868 351155795 743812489 533816646 147636902 622623690 319064303 757136248 526877221 698378535 978908251 238419051 344072794 472626731 844056441 440769037 139999960 914878811 511863824 214308543 408972048 304989114 752888751 435516825 699345426 982721554 518216643 530662977 581572566 296133754 184479594 813355306 688580501 497902537 937296867 946276411 614484903 866911140 133419544 721216983 380354637 690483710 359989554 596999218 141643588 357908049 266718549 512891504 419712944 746622265 190311555 507463855 218672859 433364997 664229189 328093789 854666633 624079351 232488776 931092478 444131944 621872765 322738440 142285049 131354685 921613705 405582934 664664324 716665724 477555646 940521335 155874293 632724280 195868097 860715151 950977220 928183989 184328299 231122521 782738578 399397747 968334953 747503627 458698336 722006366 607092088 204958613 284934739 934261586 369988440 140762577 259972106 163069394 887643668 485736804 939375795 796494553 355422348 297718684 494907856 966509137 494166969 116106975 912969099 341004937 553341548 151033302 264793606 915836579 198829395 657526287 589195754 641866446 777082284 491586001 214541723 481495726 759070409 905902163 519651364 259076609 603994274 845481934 464342863 342805093 796507920 265921303 602817053 223459716 859758347 948562150 287510026 639541159 630255611 577623312 462700278 437042770 872027424 755353774 797620530 174571820 553383227 131381239 986331034 103662223 557780609 841924687 179068031 778296021 382103961 344445765 163228115 966848770 539080233 969570620 245188452 718368963 654676662 214413113 139279479 393986249 615334210 206960591 629256098 546064495 691953320 758495899 738765149 219092967 405637216 156911060 829366808 285684049 915443229 381299248 539226502 710961712 808420298 425648932 373068479 889995252 306574002 742905941 524393037 867395668 942381564 807099905 255185607 441510770 631647935 305219053 581640952 223099866 875295377 996001824 635322567 293874143 644558049 108162981 733417290 155620061 845127040 792009312 912016102 162965417 272313080 474325894 137482728 139559348 693503372 806543907 687562988 472497381 463238636 630343133 160377932 698030187 472494798 708611298 928848543 171036368 946862392 549517899 491263162 518804346 593883868 283832747 846742802 534225399 990167067 565995260 730660245 141201733 485938697 588888290 304871667 205098824 601641383 517967951 566613037 969535814 658752278 642812127 138666635 612210894 740049028 611084656 579551712 483057273 750411289 669013968 375972801 700005194 818627405 335434157 579171025 185914648 157909360 316369460 813653174 838544520 266795849 738444526 812096997 342214810 933897558 647596398 490216691 994700174 728217790 635685195 450641093 809433706 236875456 924928491 540505754 815342222 546052060 274210093 814835590 565227697 613027824 263683460 512982263 108836697 377460847 670242441 537799282 893433064 751190196 420689720 791932971 538538296 457410001 723739393 509151435 286066674 852250737 795955612 903975217 126650823 974586755 455775980 212980864 483400417 874719212 880696926 503898860 952673925 729047937 677199801 940708320 524147438 555785266 185959979 708324099 342906986 129387090 542649763 809843971 335465642 235248467 671868946 236588001 697522610 522316885 716575169 266655317 778963203 715237034 244575745 604454083 709140697 192707549 195355068 710171345 736435535 541688314 630858583 383660323 876399336 760072579 746502578 450551042 111938428 787381724 535575039 519951556 416808064 558489135 256835851 452582970 741515036 457842849 265350711 485149117 240815986 796230768 699060527 945468876 535850736 478431916 381224318 298320549 378005674 458759328 221697990 987696377 850626904 742625461 243471993 596685890 102130552 900279241 192959820 396061536 594156458 333629422 699964222 548129303 845824376 269148560 536199673 400115363 159528610 199260451 951585637 168154795 787909546 626522883 812456601 417466591 529205996 320628033 363447457 550431625 642338846 938450712 999088547 574937606 389457138 423854198 220066912 674638470 733420823 133092966 163149165 897549842 133123981 675490360 423666064 608970898 357979270 526680621 288044885 850944174 768568973 349029377 827429653 833260222 870893786 404312977 448949388 938687785 113119618 238240671 198944717 422254793 417478839 997848201 754370151 523994818 601319240 518255487 887631124 358072666 706265374 231818447 918377128 602003448 331225705 668058735 887733459 972872248 249472524 187929390 698364022 259685745 883472822 410746348 435105042 388571148 682076053 716714435 111322575 524917787 174840590 236035453 845600369 342538739 863210680 523219821 292394527 416605667 209943215 700911477 975524593 120027378 636409666 284483572 610836888 574355142 353300505 128618913 739220264 545459461 497552543 633317336 668705367 814182789 694309028 131494033 787347762 275322823 418019763 448832640 784948505 212871750 234045637 170757820 369349697 533290977 259770308 359027938 372841026 837091908 487643384 514777468 343421463 287215243 497222447 611846430 539715578 698187557 580828157 940080841 594930528 610606129 255489311 354900603 951568212 960918208 273792009 345827282 262438843 604180294 568626108 244174158 160330679 686174971 265667311 922832957 476784230 199476339 977865706 345248713 278370089 343601274 186877014 625222621 943951809 307107735 268583395 884828470 938620041 324361663 643660440 627071233 312091991 233136031 662315244 623996952 508979956 615877200 595783248 382681927 608871478 502304897 718157076 174869452 536017220 565917225 691852475 254367169 945476812 704218627 779118725 266156561 666628425 343808226 797146324 102264274 711485026 362135682 548782580 563854899 730104729 771371916 386551475 372510890 209104783 943304643 344033410 906782270 424728674 179069940 165113690 725284875 939179861 138109242 983541188 583054298 636936384 910743309 697003161 444416293 213947472 399586500 501910574 957097963 781418663 554887851 282038711 595212056 327426614 706506057 180622241 270167735 847977026 500662816 431533972 230137405 365684951 685621941 309363318 546290398 713616702 566350248 102435697 658773468 511720926 881420983 583199412 957704602 704490085 968248782 163549542 500068667 491508267 790527142 199430292 569100277 938830418 420304005 279943240 785908502 278079082 194774378 347769237 657363309 800787487 831355955 654165585 170552496 907935306 469629480 546365325 960533835 871676678 166200780 587663669 432760599 174580365 545713608 487417172 646170962 257528768 662627399 736968472 335528029 770261345 774991339 504663164 310946573 488809093 620559199 417784058 311422069 922216916 612426241 259769424 468710257 813063449 345413419 857871938 624013030 552303421 390760515 946004992 778006629 754502647 734321898 699360068 912883719 502686729 795188606 686721367 876756756 800297577 158509955 696857477 235901258 891129301 883806670 697432892 120396545 869466678 953928050 893130573 933910404 100100298 720373568 637985289 548222461 674903697 677550700 371149539 730685335 908128299 666467837 597674425 971061471 436328963 509706293 658624934 834407595 942166337 255185992 129908765 533022894 388793327 700939657 506029447 258789784 140028889 871578560 290346569 732949414 924082401 666988598 987958303 684646744 203427767 396427280 645877272 330174144 380457555 474656824 751378825 707873534 237799556 369427505 841849816 439882944 972814374 654594286 909569305 756151008 580784980 459600198 583882140 322486005 424815115 757079281 964587138 835207658 221212280 167454617 534995455 639546104 452758504 383826118 669786819 341670422 718376334 254081622 852909207 700948786 400404912 213248487 475791806 554530589 839998980 609786790 778710062 514842641 237711890 713187819 727526873 358280820 887619523 910891452 338683266 457956753 929632191 688383649 887634729 720873298 377501245 664823125 591976097 839408295 557239466 637667504 145674840 152479865 441773730 816283430 140392337 464116911 174315200 731348963 361208966 468885781 808657156 744030087 524723946 465286554 764319485 299654639 544893847 224057241 806008127 768212228 971258697 133548922 974089246 628361471 487270383 361072879 416333182 101924232 129780202 711358826 284880039 312905009 371522226 718994003 651203439 993505891 518095521 935612610 549001531 878893003 927842514 557262228 646041879 188149342 769739108 168939423 154985567 103383856 219006882 136147994 260647914 379500574 342328700 949410755 661236644 228758555 330992693 195732487 214448288 181816757 505607422 760004023 714551873 498485485 930125551 363360942 370400956 496576919 437499644 547593090 301524819 704660769 236132251 272938264 380250551 480766697 740081841 173396898 345445031 642065944 368497248 276226226 253676537 194420700 976830556 616073555 560642690 289647584 204189153 922479634 612636266 267261778 983282976 843661078 821091781 228310105 524556247 738809159 327392052 993895861 637401518 615320307 330629521 771381708 733073024 763746732 509320567 473519056 121619654 596175031 165899001 445614895 545375741 715803076 986840545 170090200 407705888 923374333 400363050 308742676 189975482 355495818 554449896 960078366 359813713 695404270 970547550 791607419 870211241 625347647 328375049 448699167 554890096 381309625 636731570 565177011 127034065 923379462 284972659 801868460 136756638 652076541 565393985 473293038 712474249 685978730 671948837 243310082 448933569 301366774 276815699 528111816 845579672 924255896 899181219 704890034 737939307 666816704 395517352 162164588 498982741 867360041 246881066 215336213 205076275 724473955 575747474 887778132 305791552 771560499 825322462 401475926 994660425 100912374 828333478 399113089 804362183 941210087 994128428 817740549 155617734 671014401 416105205 895136224 541093911 726998530 385810711 526217955 324770243 495954924 674471701 915589884 455992185 793265759 443776403 648716410 907893468 774802404 147246305 783821886 309446589 243234569 597897628 652645722 907792981 932228615 812852171 227383569 248879855 947990091 301321344 160890303 154004503 607856057 474657984 553037260 453711272 366595883 446709704 326468465 145049584 192188049 294649762 686883441 224339758 797028088 405269965 161803241 348522287 758182268 841666701 728762500 536014663 670741157 236556380 314928677 108388514 444050013 668807456 732843924 321120851 791631586 698185526 537789262 253897929 786840636 458284058 289015868 785521087 371549621 891370992 750091183 942922308 833632409 927174324 934994987 665553324 470535773 232270510 445476202 565409360 238995736 288135126 472090560 671327445 470347947 532668680 253713817 715006583 672973346 992875778 696690167 983616339 673532161 994881170 195634260 923621699 468501089 858013847 522878118 667084807 422898253 942242930 466118985 713748507 907799363 760854924 961989660 615721079 152537168 419104633 894304057 226139530 664116166 457591047 557818994 122540301 954549092 423363056 105099980 206747471 260844670 514347037 660705059 276272627 395449491 225408935 187745740 459418897 669778419 532406433 648939373 670548073 849223871 917634328 198200234 308627252 499313915 197882549 296633499 476716469 760295591 337115066 623275423 786084149 237701880 687620358 484701507 805394743 131840052 327275918 244328522 892559823 124011286 284723670 916742196 437627216 629601788 580095603 457764570 301124269 448993127 997266251 444054448 427965306 326117749 221428441 267603321 745253234 443382481 597249286 133662673 704543618 324151575 967535906 354036599 152583841 687700970 678269647 408167122 128501913 978305302 886256821 226217617 999728415 718895930 803848779 642249868 785070327 120418942 381669767 422620822 257749503 226270063 301716084 293597920 746689962 912174993 714021081 996084490 765145389 451494969 410776744 587200148 845130379 251752168 174299262 130097617 397099859 490245943 399880145 674549346 856544567 975376641 363932591 185415231 248663391 629001881 782340815 502575092 855882383 972118798 918573213 831118161 688652765 767406810 842727903 131691385 503361309 740395564 829476351 862887446 138744601 550143821 390957356 117581811 339772753 721902623 462522922 101867514 936872660 153158004 175605730 300135354 570599567 750022092 993647866 833395780 406885313 949514929 435147779 341121030 551400864 189140563 402008839 867382859 746976627 305024760 605141171 893549878 942195706 200675869 531815517 238633159 729576401 133690494 174932194 245237707 421769333 291435042 974102855 177161408 221837651 836511568 352116552 921695846 654924015 845454990 770372484 707560289 150572996 985199619 242878837 261869579 231937679 963748520 658164649 957219731 624762915 265453690 103358074 124687142 354224645 123422563 206937144 856215035 752430266 879777690 207125626 180272676 893149365 364245930 725343806 847699992 281404219 350133585 720100521 116244790 808430565 408618098 338222089 399255030 570599157 992262376 618194121 554041531 600481455 831635622 807770183 988937476 563816700 884922188 472514647 110376707 385302061 279519944 205709197 854027906 569719424 116190888 164687363 756827827 570154380 302848149 184699168 702009966 745874193 903161755 974874076 932164677 514474065 441488099 713764343 305149872 858039234 319363427 161277912 668860211 571625640 983865020 154390868 660415169 807056412 253020250 884563562 504638592 172703013 228265903 994102984 591054513 369064756 288221688 246378047 172377191 660791989 355145943 160002424 272503263 806040807 722877247 688036489 770184496 553851401 291691061 166505950 547946015 202796646 546348580 286792503 896440084 164609982 416714719 256296725 609643620 926377319 587802321 286363647 801962896 683776134 749536422 651994450 257520561 543730746 703397658 644552870 150805548 321109159 272920966 455250454 762649882 654710570 324842636 592894780 805265294 827669737 899123623 337238234 600213117 923402416 889583288 290519861 948408833 236193941 112597125 490696232 281895268 368242697 656464022 835544122 249995822 360230055 859524424 316785514 735724473 245772077 743036981 557309336 685912065 771904609 249498454 616847077 368544158 457570203 603816567 831303873 371031468 584718252 715661643 479742392 285692426 956678073 320204188 943741551 409283012 974424404 341433353 394583056 631648682 221082746 339930882 918812671 912777244 355682781 901816870 225598388 773462630 864191385 562786998 854235624 487488633 449619983 149501217 644543601 289776925 919145821 868590665 554638529 521945433 446237746 696349529 284894004 476069002 269682638 221304794 655296584 899586043 727678942 391218242 849926479 105205978 699944871 824441890 733939782 922485838 152783728 487570927 734082759 455373435 335823337 506556536 199449487 739894207 858253770 547242053 138884919 231974015 272221305 352308807 660496028 959624597 427910263 978021495 233259442 729405173 271884049 476018202 622523699 998230166 805843922 917820404 703938399 878672008 460910484 976652525 535984888 614858081 321719654 819164998 564845380 265848248 227322537 586474725 800247635 767914570 699772243 613461549 144347161 315390217 729901929 440691931 416176620 119076500 843672134 406545574 718474139 669536432 692980244 123500226 108389902 964547037 385197794 717809754 154712653 613130038 660509688 432840625 484401138 441774781 912522549 364024451 165316369 702637969 720157825 800653476 968549579 540703111 721716905 664988475 705646650 349529732 947868331 288592571 937271893 489534204 596681625 185974861 631936606 815542549 614475186 457903255 668848591 225368673 548470465 942202868 172218249 883182267 770864306 880244696 573714525 317848559 184859221 247727011 826808271 270409109 180533909 279119892 999393859 605443493 760058530 132449815 662506690 883204352 438456653 980793606 422313710 459604025 172717167 955015542 119137476 211542612 116477976 248681527 485776789 227326352 688900862 708825960 730435623 876793141 857753505 791259369 645050292 400159102 911230330 675500545 288502450 866010867 939702370 684479775 911425332 605662317 763120958 920445468 196151018 549307059 353869093 386069945 808953551 409107227 746592525 482298236 855113833 274018783 481737653 928297015 819469376 614969204 595241275 764907420 620285306 980436845 430636382 499668949 357423133 612708953 375737985 242704764 370403731 518572756 811654837 112905056 542490377 423377816 698003627 779465265 840093932 482673112 809493723 398682171 167524049 404904251 284894211 464977722 439460520 890589358 831650644 997077170 796686212 652517462 494219873 168795646 427407964 985830066 864532070 365488022 998160531 245087052 586623973 962187458 568463932 314307111 497771806 156015529 401292663 188926496 662161750 985468269 240906138 929275276 746257969 839733451 150184781 470327377 326407390 998391840 141615658 603387207 356185347 890341083 953430351 363898087 801419143 799846818 706787614 985216960 858905182 486872849 311930435 617734575 320681130 811995994 966579939 672661417 844849562 236369016 637098582 695193771 614166668 354062316 332950203 287669059 618270588 380012240 926369487 438365600 220907975 950600732 689636696 908559079 445682605 941793002 100486646 709231069 379662253 729727905 937269481 815708559 439442513 709153285 475863587 779782744 786667042 125503748 982493221 468366285 764497705 891474779 867332537 984932081 902761844 899126755 286802788 582886933 350868668 778579017 243199830 632265775 843714426 844112022 686392722 833508258 978140927 609937929 457337103 601979698 614229321 760921301 887220865 730884092 100637807 132814533 463505381 861875573 450687649 520093840 418569675 631648263 589963524 616594587 441423936 774707544 224787596 863292670 614912581 881993784 343806619 962969621 133391403 290898924 618555998 680020910 779412252 280962010 740502648 162808532 833147011 979955272 520567283 530978606 476459384 706770083 174994510 818322085 774571747 345013979 301889131 602832565 351092165 193163166 637792041 865056816 175436053 612371227 547203545 725412806 413886761 991565286 977352072 694148095 434580086 218716242 586381269 887161412 164255607 927071317 191601344 859812595 748713520 414402793 843090313 265020319 391514706 628190400 871780399 462704656 138059620 135410724 642263164 431727082 841504925 181454368 371262482 255002829 857377241 118858438 982489150 136800740 221301745 981407413 765874016 309901674 620113396 930043674 133707986 378443555 445023511 644244414 417474392 585683951 109287718 845704660 115594465 572202391 692923221 538936659 564781771 682624276 510980850 954667921 466234361 227157784 590826533 193498566 637234185 878663427 260873226 456451649 174234637 236488030 142065795 132810790 934845511 261454098 220278217 348361434 419545906 494523022 322658779 643814673 100168805 424542707 366058640 741690385 527960486 317997355 844762172 527292555 726052800 509986995 536106223 745277113 253220049 445955914 571052594 123562882 298937917 630339122 677642731 307809595 524071189 614627778 120776787 957586900 300797926 784401839 461256206 658286323 420746130 367548738 929088812 839485209 395939162 688840904 123478070 133689683 945381562 369508068 981333266 211505282 267549620 426964077 177552356 734807517 761490118 440131171 545065981 132548076 806947686 707988867 700524612 405547922 536174466 290521963 721166422 521186318 404930635 377213093 916996656 748665719 611728204 783860282 687609223 142424191 606331627 850029717 779034331 845848503 544143649 366546280 826980780 518375796 265163667 804618895 101411073 595662832 402596799 884829218 873602199 994321450 264545988 910188348 686975464 283627571 871359198 988368628 400359349 865188241 141114147 443447658 946969356 878931788 332238480 585242621 142021057 806058521 893234853 851958100 842221892 928804420 635437043 848394933 462703116 312822055 720137197 325485016 610510567 845324167 308070133 521512271 421264071 597633995 486252519 693904226 211074783 997318896 743112348 902945588 257771729 605183117 765439327 695868365 186020929 659702632 389208903 527793383 751040828 402939653 973603029 379523465 883178015 108407275 416306885 293864751 187956088 232000632 152074643 837740123 952586005 653402078 295262228 293703836 352595955 585042917 190353817 807130295 284383213 400956146 535256185 711035475 196927258 707241564 141319499 983113927 214324793 873115887 759394935 120407395 181105694 175772555 129823466 877175092 237379965 221295936 116726920 566984823 416635001 421005730 154599201 823527367 717057217 599240145 805847315 430503024 114037950 680441205 592311535 722224407 804117560 762043157 745653514 636283732 576633918 421375358 296711734 329488234 101494230 429369390 984999071 667343274 503438532 490221048 394823126 620596665 323636513 181471563 997745743 404830739 292757835 927832186 304188544 234478352 956396069 540185236 487490379 778399644 337410506 684165680 463964481 771675978 684423853 485926228 976706349 783132158 719019595 704126460 938573811 560530135 732341031 486605890 281790364 952029772 819803886 908068443 457331436 703810874 432861292 120180851 468813191 465493367 165967088 748036840 276295967 395335512 961570747 302940146 366849938 423947121 275748530 549373759 907909120 878311567 130918468 879877497 865963867 171031768 271123650 532722892 970550055 293856042 511829965 284291017 918005803 397906471 809972171 522923911 614036048 782245093 876709442 688067664 617702239 790294555 843168158 493712275 913951867 763912399 951216041 802986675 156859106 234539944 189687017 211277389 919832966 337182485 915775665 764670542 182756860 185852148 200489441 562070994 336898333 449282199 820307446 480851146 241120766 546371703 228382450 885711063 644300001 150873624 982586237 295881992 953348336 715800709 577272576 873027745 770949792 815311463 361072683 593298912 602563983 163987608 795738256 447972802 711742272 269830853 419694769 568034284 184794960 294312880 897942774 132775537 166165157 146700840 660341686 988253928 312559091 933923919 747399654 967538706 499447803 167125112 551523423 877472991 537772141 680130323 130858030 319290633 423087271 668135281 918785737 912859501 128738440 165373994 120103526 427150248 761475490 847264601 726392315 873835239 793844525 822135829 123484075 482388702 628631404 485080986 723119843 756564544 434014636 517404836 553528455 616588232 785269819 352286975 904762118 976618036 992065894 769470281 375326420 928224879 542373845 472633974 534923329 319825902 436875328 397833875 102758991 430869073 358439472 244949758 555230045 339591889 962840174 552175883 933880997 962669883 469572612 505143080 694677108 226279391 874096778 361932467 942621603 523262574 305565072 340402080 621902572 352278282 475611374 304701439 173214811 651354571 542020954 895829043 357616771 490445811 436877411 314974986 875327873 463108847 234472001 189469107 281696320 208050294 393026903 615016349 940626852 518360226 757742349 816031843 127675961 983888643 141148917 340254488 148667731 694549401 786908168 261443705 621136644 132853792 729296084 487466042 631987055 807392600 456785746 807659936 248409106 446841304 923191502 225911258 254652032 210599123 795305593 748394024 410744680 147206981 511486442 359558457 936330659 581557081 962446982 464548143 835568993 294805330 533478128 483451448 655677208 161432592 894650859 228195692 101327206 567559188 127566812 664284787 857251558 409650654 378721270 339841274 797836116 961306368 592504341 222843493 852861254 875983007 275014169 717653696 369734025 364916414 502274422 581600236 562768431 650416479 106335524 734756950 409844084 623250050 754912502 677535630 255885097 746221875 893743652 301951597 273770262 826045219 159252462 678105833 305826663 201488348 501842432 783177902 732995650 215489859 410537544 182803155 293453337 434717268 983777557 819892993 224406534 757122569 233547591 349857876 917491785 763845642 151714101 440381900 240077006 190792486 389368618 426597357 431845025 468861234 622098030 368603189 154673496 499375272 531568725 392088146 825761660 713570077 766739050 216952095 578073610 256644138 918951833 476582114 299231698 325596563 776700046 681803695 914467198 489094171 707728752 708555334 362966621 273970195 478948225 947720056 462575416 865590969 788490835 402108624 910325664 175099941 683981986 276421546 272481083 130292082 283891666 501615069 782614597 789221283 767734654 947425496 237575458 704480086 169568045 208881375 768850029 393381142 225159040 911525805 616480131 807601589 299425620 687998166 848728762 146017649 738651368 788993034 838590388 653507931 602503764 968462760 811453826 936942537 877638977 818281329 204920386 621881977 289384727 390651594 296818271 841335920 278848605 874356641 977332438 555087804 405658931 455158879 202356537 368429927 908508973 737995301 457693254 736147130 837792876 931124121 346412395 789320390 549491845 774747457 742872684 233092740 798397216 558267327 877474848 680093621 973934734 336967422 268950444 166738514 573877075 824730178 238559232 245535614 634588797 395377004 653853187 550184986 418301847 557963754 818449172 974027201 784703718 582963338 399137501 751464080 952615072 816520077 674660236 322696428 184507274 736299266 379490929 967177392 500117860 276927227 341999073 138664568 535867022 983338747 311589074 802921963 284118367 327887733 440284994 985432318 398553126 245443624 211253806 408578843 978823366 442073891 229243880 229699327 693967287 515791526 590538896 351205771 762050796 514442650 645043115 732195323 397905157 318729570 660295029 870909602 877284153 131817493 396368888 466317633 692152307 423913084 194102417 323296880 237302260 528733047 305201274 470601612 388413506 216662666 783068253 965944464 466058784 435644340 512163400 814350135 875913171 343700608 942903448 757985850 742776062 528763407 202417662 606632088 615306981 219498808 529275240 334140144 146596225 138445785 385648141 517338763 204407580 476245026 523919439 367967732 361403106 599023467 498445806 276086423 260441188 428387197 629512129 362472248 129441878 636120859 771508749 443965192 673663936 804970675 123762957 437843325 347198485 240269035 404971792 724426293 975297524 755453330 408074814 178187976 657895785 244565046 834700069 910109648 660141627 401340623 217864912 587873205 221015814 655917836 894322728 607189230 935217009 373406856 790822724 405154796 181761682 590300921 103037108 552223007 953248754 345194789 742203018 753506856 172774948 591622737 611079322 644146366 326979859 288619625 866092343 165883964 307919614 480904140 311979620 443858383 695745532 496395971 343036267 763587926 144972112 821886572 408985246 542107122 237965400 573673726 405118202 911243026 692099094 717984743 518303513 215494532 132537141 923299125 117321254 851837820 891292047 344559969 992717690 777775100 187071677 302926919 317147213 631171610 630665949 516679316 670360106 448136458 880144775 110895508 399341686 461129549 229671886 700598501 195342082 105686364 105336361 842039029 560634580 637582293 149113639 814544803 981697502 422940046 951035636 263359286 448506602 963214710 674746109 973812196 683540796 962702505 705263188 667231218 366696602 329861344 180502832 395199290 200832669 315493272 448680873 918770878 641448678 981405623 941087004 799224297 455160420 846083861 429569616 745666728 984868561 577150116 676111760 140074152 888664696 817055689 359662931 894746345 482794477 378184545 676574747 952220675 931832165 835717550 968608672 489529381 414359361 442865150 504681847 672377226 490010455 428067772 752637580 342286445 626819444 842386772 425126214 200493155 969650197 998106896 821085272 848841951 155727107 219037434 782644143 394791535 125251983 211442397 336289828 969817257 833571783 895594969 223034145 853523079 731900265 249192331 302939065 339272602 450733869 463382373 992420069 581329508 549013941 414700278 727248428 433061020 453483810 680504673 109190084 999268643 627490901 233508495 179014084 833745235 527900105 390729610 333077073 797398044 397481902 808843924 625115219 343596341 652937362 198519424 436271678 325123670 508430479 384232414 637718083 143843012 573817486 640844907 171751617 368609529 602373910 643398223 502064317 411877231 637644105 750201560 726907789 798289011 551109397 570447277 827422013 863741184 935424407 499059913 762234569 887547149 168389302 449560918 177818475 526766719 853161512 422170687 139321422 885021490 982006323 337390982 560536402 820206337 449869202 817327029 289254756 929713281 478933307 522639297 433283210 586933054 487026455 712186288 239894934 564147641 273930735 162941413 491698913 688705189 683653256 588037542 697328678 900748031 113008168 393811091 286700168 251356725 831751214 351481401 793072337 338395008 127472144 830365860 349017009 472114730 454166923 352085976 747614001 820498997 343389571 929515034 329664738 451765495 352119560 959394572 201926300 519103730 179099079 172721831 426197583 670705443 260683201 851084760 390323755 225890637 730970975 286067147 863817930 438103244 768472337 180154750 107499053 381142413 565443614 695134273 817621665 261294877 934247796 271966849 536500031 457491215 128283875 820273649 160799417 192234155 543018497 751265664 370278848 832740578 349564126 206358246 618961970 335449762 500607162 437712100 349205946 168082746 489528727 931558515 303220359 842733523 371371420 567911271 329406029 951667797 666413690 439835395 942899515 944984550 293304843 164122914 332525160 861774865 357756240 235677772 352378112 699991925 627859234 681266309 295140055 759142710 968818552 936336378 487169112 470049539 995390232 806466062 399717993 388798696 978690179 677708258 109306910 245837021 844704703 587894711 234253735 701946988 741437384 569582956 778517910 583175397 770803619 381852359 457287638 489944471 373775833 179727007 693358182 689561394 276449998 327790076 838638667 475051108 588837075 610265921 539971668 428346462 424373684 591270593 890362103 185715946 749658061 265399199 929591776 966950124 472189710 790154108 826722744 117116643 971850168 471752390 796811709 148608276 703469805 246280950 757124224 920260768 835835599 308714984 194003135 631532125 673831348 577866832 505340422 662783601 516442010 653029489 668979196 222119235 626615345 488123840 610697109 141027860 104094187 744159900 955522543 599794425 149256429 908339088 104998692 688818274 521286127 819317639 758070823 993305476 700047436 868399979 291422802 526616085 709575920 432083602 496878927 819614744 147230017 365718464 178377776 723952781 915368226 983678320 521892341 139929032 646317445 893898408 719925497 688083497 803839336 159485463 618490595 179066217 300801631 688679218 411735516 529028388 724308973 418154819 995903996 887659238 703112226 248093899 141844978 200368813 693643639 754938524 410932628 489565812 921460059 808811968 812715828 579862207 833716094 406690072 622830965 965867441 806270056 525988882 354398910 682585750 329156374 568749746 427403259 155210207 365391140 446280158 246389303 815861292 875921678 620095040 965946624 237739958 571140689 785287123 128080427 736275571 756741446 432406478 126695704 489695239 392418242 182093016 730571469 276261975 963377092 774330463 278165438 139489311 203678093 211511226 483746404 377018359 134193413 911149853 220502885 713160112 177336311 209650028 546826678 933388503 664011968 169025518 663798475 860062562 568241525 589862804 366016165 350872349 264459468 957894024 354669160 835047546 840222681 778476361 570111168 686122597 316710773 999144964 854205415 628440604 859643770 767791709 447750478 943695668 704500698 544098575 952639347 812986479 785399027 280825713 664052006 598036949 580195352 626762328 599343939 303478519 876869891 342033656 291555468 417630702 297396386 865493748 930810806 716314210 539139752 845472758 311892104 877160764 154948396 263615669 175243896 459298047 824233282 660921150 686585553 530261355 317875867 414371445 789252146 654757385 598436645 489992082 626339969 941047737 254915635 462965987 908831315 824767949 379771553 806467718 872290210 468661371 552378580 386844222 397936580 928402502 230810450 413105429 788401342 413410666 769176367 843544138 696240734 617738208 981767959 173900244 535054653 722273630 140241162 515455738 332801516 538590860 628921153 412215271 408203831 700748450 328475172 767019160 971832416 265586652 757249637 808206190 457309045 334553783 531111228 991142846 536820259 198375594 996947497 571624389 558169025 390275312 901329470 490543859 552817798 502262508 891568801 547341164 298471657 215703450 128374371 415581845 504406921 117870777 320731466 189864799 182084910 903908859 735636746 672444965 721043663 793134031 399654436 661161093 168666853 439046121 868938690 966819938 540184386 901955126 555070209 844789336 384285578 257331749 977502259 955395667 934668712 146021654 716132976 763437236 561746201 162143394 453327259 174838037 727539311 607348172 911700347 577264913 522998694 130848818 997610378 495572235 174693219 909297228 702371959 253272796 652816942 377269755 896331197 544874072 221390949 713593005 995523764 388917374 204307919 760415941 744866136 825650095 526691160 175223962 247129635 599583977 885369331 200972154 309292296 330562487 252398465 950729021 362509776 924756392 306344421 901000964 687350095 447887566 175435265 281979853 902751057 112614320 948396845 154610623 894809637 554933729 608912553 266788446 612891915 485094189 118016345 845400223 865822131 845851439 978090150 375527928 396346600 582779257 593918677 592918601 549087350 608222768 823681399 710546088 503413507 663260161 587737049 693549960 875697982 805722546 360740612 251967940 525014787 411199804 943419469 293248559 309208226 834697062 506175901 379301006 228644362 140599443 904615983 419682778 510726680 533008421 467947630 813642207 221336775 559168186 834913791 575111624 725973184 116523886 122336021 777210933 930558507 168934495 420598270 555404213 369239212 356354867 828955375 628203983 670368643 987274322 792005569 955893115 848167433 926704113 263623945 145287891 250467532 610587974 290390265 136560495 237672507 804228655 317763397 445182405 712856647 154301712 890905466 840764303 627935597 425713849 781101101 316246403 560018406 571799110 985212508 566403275 760276246 365317877 218931271 774073163 624682100 723509921 769574046 908885240 778544011 541933817 250526144 934527722 320524386 709930010 504207831 564128831 461630248 442588449 238750610 214139378 825572849 445336535 174385762 756240271 328842096 409610097 435122781 799847159 805186662 546381633 305115362 238049856 672847926 515190785 923379533 938355244 152050161 236344669 460104404 646381996 476679901 548888483 481674176 800858525 368926758 448089132 434384351 640938317 231097986 924695213 463027636 782114044 662746137 945354175 767418562 286857987 493630858 185500123 966964557 728122898 814886165 105969803 260325255 496093554 876648986 851951653 631370878 765571271 421879514 751900498 116808648 437534387 113949405 314781769 700083338 237210189 591088356 477815473 277532696 175063246 748395686 381973447 663372333 161113276 439135057 467773666 879319771 359700374 175210667 366682224 831234535 749767736 960101579 556028131 778119438 193257921 693136876 781128248 379196571 483120989 838504752 772813729 855906349 321955722 407202362 532507154 879250946 267741774 432219073 225717197 523764295 492546769 385473332 380555086 200714581 355505165 295149943 173540308 631654316 851812440 951846986 204644310 120175128 142692363 491017224 625679906 441959160 462731007 146259624 950205723 531650180 315459696 824083222 281694150 724330097 670517666 556262429 938940560 948497095 107557265 855715643 729363760 623391930 486347770 959637222 470499219 257409306 673204175 232215355 864908878 381790458 889065604 623989829 377659338 764606675 910632950 424575148 330463045 649791236 862291243 237540689 312203529 945331725 268957461 400539189 502097110 944276554 823834795 924217105 990855498 832452862 550536417 959476217 769381916 274409295 219464156 971068326 581229449 862696811 162144803 871115388 260971907 143951468 390164012 728497141 738822562 923577609 499361660 667387111 873166957 932212901 468131703 527075127 333695537 921589916 481753838 968152207 214425682 632441549 528623335 717178534 469607469 354269389 346149482 570657119 158088618 343450525 401797799 182001899 866447145 398434568 874171514 751301423 722841706 958890048 517836795 433084989 895684606 435707225 950755696 637795380 626691785 944899277 519335398 956663339 299851174 327985248 699277898 161988329 784328839 909691566 821928988 845168935 892627475 424330101 118686858 132894242 478620591 557953052 216163164 873273613 379088560 443485837 810474739 802057376 407046950 263410354 650385610 326490463 938507290 413419669 389914627 855833951 400060582 535992246 711726967 893200596 139078193 190767673 782217249 284745222 437893046 994309574 433359773 148001495 133752920 555526056 468034816 969660993 852987500 778691413 478851578 853346011 215412360 212124881 797824426 834020221 109365640 541014659 508816425 498649468 891279837 163364212 431934207 419546073 974781620 287375106 399708614 899106018 381244916 872902044 895656307 406898360 900931578 291563112 177101083 786810953 260987736 309705650 263015358 186238407 926944793 188387296 743508170 608619382 533771221 197599857 913525808 952984587 400369053 517791476 222528627 800591307 729083554 871686895 646515184 507765400 978171457 538246966 960641785 233449575 611316686 594508473 956203911 748869639 240050222 380714857 121574589 492819842 323882520 433807028 419653430 817149250 977205479 194888492 740462229 321420564 436306001 114745017 849209844 739079676 587484169 328609229 108874235 606010173 929457444 603117406 574874587 168400293 126329350 748905917 732360953 466572378 961327180 587204142 625715409 475691988 494149368 475497514 661671857 184005180 578951039 978866056 965423600 651811772 770700528 935702791 876674518 701662880 272170323 859090617 617559514 701184934 539646481 531932665 811305778 795973870 637911269 878929825 552845690 227450241 137794056 914984244 725604196 798312656 959009583 565696464 175519258 422992454 237998227 611950112 806642731 140230825 570016817 876859294 433064277 418405329 912124381 368733832 617706975 265299507 501471592 323962173 490964150 181719396 676149991 678771036 701721369 773576909 843252154 347313149 328138699 314896806 797375308 975422911 437089671 167144447 661554090 719354705 219674538 320749996 506802854 880974840 284902889 290920460 800171202 375536327 898036840 311802335 631113412 937279567 931484506 243574386 499221810 407162945 829102801 997538631 702944818 894920576 802411393 390158085 593496791 134965936 842452806 157419359 430374668 434117165 370908536 427693020 158595313 819481004 862896873 218829684 894981901 692866526 626862086 247074273 246999510 426153883 620810206 779811557 395665539 556937958 834586837 982332661 297146913 869958876 324632119 583406358 542098269 610754077 762791147 319243013 264263977 438423391 471522741 256990797 438077491 879059506 817852373 563803197 217138260 500367681 931537750 722806757 301691192 113422282 529774805 396729170 698861245 690766934 313413144 522016885 458231295 173195047 270513032 418697643 258267057 928690378 970305164 433717119 625175755 737704430 920506126 774176182 868828385 343078066 531291304 792932462 788596427 584680177 137270662 428448133 754698887 985596030 144296297 354003548 262550251 510995177 189515184 759483975 210073126 922651913 340209991 430277362 929974835 292145136 997859035 447906818 415951434 434237517 828620272 287055294 328837633 316982474 113842515 425977461 495114286 345905765 465627976 806268802 715233062 751470371 202272319 936217920 159093971 414836889 925445465 386039783 273456647 115489229 334306205 371445326 480582342 982460674 967398615 928276513 724586812 695816331 959619830 294507203 708164832 659424812 376530836 565163248 334471060 725530551 552072178 963137191 418880680 441158643 121102639 994094554 106872533 916109950 471168354 228840793 555346396 239504296 152658436 412279894 215755289 522396897 477451172 490152028 403362347 177933151 673502147 448077053 834823582 500431951 781083009 539279085 343686848 561010602 112700822 731987414 635591438 853833551 420552235 759073537 294594906 904309332 552933671 978382388 557919439 253860833 149672879 425409214 584764460 203435958 333381835 643224709 417183090 774579925 217413330 591964053 332917626 457642292 168221797 748336834 190691966 430648683 182568573 738480275 603784508 222900543 731208236 776361415 716779374 270785064 390228663 917655177 475928677 482050522 875324349 364295404 158719882 529028455 583302343 516994272 100940348 379634290 870137953 841761672 359285113 590466810 965633715 738205110 427197897 773115733 826989075 530775819 631681984 817353422 664879402 393409194 524732167 537541573 326145616 760637337 989000182 264268618 826189194 137904146 899697624 270380654 316258126 604787794 672562295 250059916 332396463 195915196 318184301 783520832 545383973 260890257 707714091 561658005 700966988 774829848 637059434 111739347 291965948 893693047 678946677 355600740 866986031 589852032 683183443 413080719 906787736 744079413 412355331 750215143 227390585 410671330 841658341 453450685 118987864 660020402 425373235 292841046 806303662 404610496 326550845 881759223 668262760 604961454 673903294 267128325 893569647 877709357 120261208 934917935 662782591 812378921 745518313 346977875 964718508 574158430 144565222 332250550 365760571 628740773 185658672 448862053 875545266 813984455 814720346 890988963 996104865 814289323 305226736 560899331 893511884 872317858 610802951 753558508 511790019 147200295 177939997 722882745 315144546 941407222 482079024 454693748 504947939 549194527 484050906 648302506 906319500 311339582 734554026 555320998 171700481 987540444 336613947 479438832 307045698 562428356 236011092 353218355 856541042 632786442 389547257 218317491 409352762 254982936 258781537 743310603 802144951 144071567 520653162 958829504 258622123 169033175 235044929 316475337 823111619 672765698 452468275 121298641 677010245 508815981 194780917 846787707 266893205 900424078 530795621 627940083 169915590 966438277 380142949 940478227 500725360 364532974 728794672 529456180 455225632 124267195 231666550 162604154 701700168 355933687 596187242 347955669 365781242 401352879 746971746 731564250 215217779 308772887 295034163 733999170 928784716 638837656 480297136 980602041 849141380 196812844 638941037 550297131 277981115 220838742 287742447 339098122 828280893 965390937 424443198 401905546 169433036 703249707 881164714 925763028 960705707 375676818 296187484 325462763 362477433 270963719 114964881 810183530 684925625 526571298 651437944 837586137 958871145 886292409 774191610 172341045 536730115 864599768 465335851 154522981 741832843 523426296 682662570 459948024 249005614 717718837 293638617 649093282 738256357 268155439 208125791 879024566 245962726 568027678 454947670 626805180 524624048 444224524 752605459 416889774 273631560 341510404 242448555 325907609 352346119 448617527 135832566 796082258 322475945 339517013 806143839 981752229 435717412 492601562 531287977 393962638 621591441 626218751 575893557 582837039 921278378 213150242 145327100 943865300 815492360 526105716 564863387 279760911 905256442 410632893 864787860 696290728 663273194 738030226 919810261 846067020 917956753 624318580 448435820 845190527 478604670 343602244 496443262 121758239 762724846 547170208 787665358 959653999 513452212 270165940 850826317 141072916 403169476 879233527 422602389 198407653 368066483 718038825 508383005 974944414 506371563 277936001 247246456 765587658 319143142 721958536 694059615 828470003 286166634 172170575 336284402 758155176 239417169 343920762 611572861 704085921 268875953 702264782 931098432 917448863 585562832 856616588 605697546 799812481 944899963 818584358 883752237 681686543 689581671 236208614 242815807 269943597 460625698 835141834 766076468 546151387 140365087 222650573 645639448 159008809 399988400 127277976 839461240 802639012 868660084 154977178 501348289 260387799 987829422 855757775 462807939 211819217 721265273 233855637 384969337 288428150 606532577 702597070 103624039 345962898 760803771 102778726 520316187 854450583 313212043 475448557 817348423 815354106 295773516 538773644 329929978 217694660 223167152 104467174 739133357 628003554 815027247 712984576 813916625 773393766 965384030 545024857 546281167 889549310 818894943 579905549 422540886 834184149 880582189 308636385 369344560 163268449 434664348 609977761 973041177 408555930 376870380 895033092 982945371 252517290 392564395 830686192 972815776 443431760 720498727 426690116 297504480 225773888 181808551 271242614 687710284 241525346 842169215 610095755 110489171 149553884 792668631 857061540 132394981 418609290 477578480 233931459 187361925 412321469 212606444 944655360 173845208 661743622 680813883 624843354 619270528 689540969 309896705 951096839 626492847 578884929 651641218 412592414 192715775 759278548 771599730 151997672 517564053 943789291 563874893 155477624 408465772 706888492 172998607 776339853 700921394 883667620 168387993 834658940 994093331 878736808 469652580 787854568 339290290 377174559 413295690 602599261 438696927 914212280 944236314 987143799 237117551 733674220 815854882 352589038 196405083 498501932 523377285 466957061 500925729 595429504 704176256 213655335 292983560 679797534 775282956 302412153 922131509 824562711 777464556 537459330 895119512 906363262 243470955 758395689 387963075 598238441 398076933 522859073 683104880 399179373 797635699 745211163 605296987 657537441 524857104 307224074 436947184 450549911 544765173 109061432 366366510 816750271 666477567 625942607 793783821 218423549 351793945 227769811 919451736 772224674 832581711 929772351 574352552 308384758 846623512 405038250 975305314 690197910 556397921 725321088 778588689 223434589 247891959 975255155 249431428 838825799 433190409 584072142 260667725 358447556 810050620 571895930 760879029 571292375 987809193 754031190 462984227 498888822 277046392 183417233 177806794 225694509 705755208 124756872 118858464 475918882 348321243 181086838 489914398 537893245 285347519 354506506 490065832 337719871 721279525 119942564 581751739 431923147 257197534 386497303 521871039 741221276 326477204 545292745 812513640 500530436 758845498 309689191 426319501 248075025 987342418 710004299 281713806 361354050 355188216 576063590 594652764 375222483 244032898 500121544 434493917 961119896 461298567 696154646 856157617 815103131 474020767 521501198 204612569 128577234 507767119 570351580 218064809 967981888 888069367 551042959 384725682 431126535 612631694 335288278 109243994 378415390 447910337 233218664 194660806 138145922 568571485 619170804 411479948 223716276 391497018 642002610 890755393 658353784 128791561 131900532 941465308 678400187 542088732 473235992 625588889 132237350 270527011 616794343 271501859 949159570 206347130 194307776 605262704 540550044 374071750 807889565 509029415 537111658 658700356 952294518 644872900 651416261 979792963 441112623 708325089 704289418 557822127 239622851 954625561 443085401 866363432 276396350 342833917 217378900 469972977 732138403 604267819 254199719 745147189 142870727 598054387 424859336 979598136 886510440 833331664 608899395 893644848 269094328 230206594 233139025 612283764 651182232 806968969 906314399 761085142 299782551 918919545 419569259 478007281 899982996 642235507 918190257 580015043 870770797 146588982 421662714 405471914 440233704 461486724 839896245 318975832 632068500 786100729 156544878 476297130 501053939 645093129 715965339 163144232 689494973 942291325 412075534 277516947 897848764 866870757 179799637 765347118 157983837 592930402 971723194 136168160 193698625 549188422 581617827 764456152 151149349 848041753 998284186 165266992 972015074 691200871 744460183 166806812 102257117 903759909 464994892 725334565 130715648 997275673 984943534 690481059 803209051 731149971 329603951 655861191 844556172 368158554 670401927 325979665 598049757 414170965 345444760 824783849 429157115 462307681 611276313 115977508 500649392 592802114 227850714 103348941 755441488 569416737 191588820 690013034 155272368 267685549 187484192 256796733 478566571 711943839 744895577 475887809 891357991 999364664 258538259 943014503 690031692 587018271 824550775 286863683 447031100 164052715 845869807 725573522 977325598 316626403 573753449 239339594 699249539 132715289 325912552 807613939 374005369 375676194 994852417 553122272 822723745 182874355 776581441 266205096 278235651 475413558 338506397 422399991 443666030 898194317 254538313 474717095 795193777 155012969 511526905 356075176 970736725 949134978 592076900 660579173 328432092 867600098 761152368 638235700 879714414 709814129 689789350 645781322 966020258 613257800 480502196 292726834 283005139 158333796 673630942 566564395 757664625 554319430 257380900 263589201 326491409 290333163 705775688 338405530 367830700 403007958 502917401 658649552 122604689 610597504 476237394 979277566 590784202 639133874 410703545 501600928 739857324 685512867 732873261 291082949 154606518 669065909 909981852 948677291 184316370 893055322 382736225 231268584 759344900 675225030 743566085 131028637 300610826 369905004 428118345 735318887 817862027 381187807 910337550 567510745 222195793 442173608 167253314 877089026 407216000 183451476 983064900 226272382 674781393 717625344 363553098 597274100 576449032 450033165 253412024 200433863 489492441 766446439 183777280 477170926 457253505 886433465 981132708 929321388 569469204 818986479 272157136 303321382 150880073 994495417 600940667 798874871 556392639 615546598 602858196 284767584 582523595 832952644 358671549 538976020 506241217 595694542 545506714 298710392 495482215 919048626 859496519 512632058 326189455 845260487 662202829 691942902 741312621 940252702 931346969 545030173 526057319 215158205 755620278 749261187 794040858 266086679 102189181 757451748 670713112 411380192 866090571 935058158 134414742 796136831 705521601 135188031 385413976 580027330 369314247 257817460 290937150 993376768 523525195 778844443 554599236 108154610 691025580 532691321 411162839 752151101 332416227 605404956 869341307 945488199 439754706 294202069 575987330 299036159 130561219 639258942 225941297 384671842 450651873 890392133 236491421 402149670 569766966 590330044 865277275 426232346 148328868 497364977 571852335 790202150 919296700 204276592 298230632 661482396 343615014 488995094 592021503 373683557 111398514 581553734 774823931 714809235 324510745 235629061 431406926 827071309 803255758 210949185 598680650 338799338 533926613 319260566 956756358 547006343 452461502 249029649 344467649 306778931 582602296 246034969 762743125 420841429 688077915 335633312 740717331 199906528 317478839 587658109 442728366 991559306 810314344 538207800 866782780 434466674 648607107 709779082 198807445 820469460 877790359 916454574 302783383 490147899 923312506 363068377 753300363 822690520 269407192 438970631 401298102 619987996 436104602 599312701 335588290 984758375 536777634 993415429 230986720 203263148 636640956 151539023 601872245 900640119 353864909 897357103 469803766 847317967 133939576 937922752 442550415 813108401 411378373 756341415 794532085 365740928 897465008 414785731 126803916 707569040 503941298 931536629 989146248 270603051 432846834 884082758 167958235 204064992 275753196 371939158 707608933 622310624 207996847 293413001 407104656 445547978 747625844 692698812 773708420 862600576 348793033 413132326 572659157 183172389 571433498 274672989 739390915 186096581 762720296 681595252 473961991 692736335 192394976 565699351 630936415 315911395 781772880 557880243 219192868 749257312 380929473 864222514 854364861 712025428 349204489 110479355 131927282 465046409 743864050 811939284 200534916 952215135 197239742 745360951 269983504 462028116 423663328 672490301 847455531 923323084 146667733 416248179 446919695 965118210 182639377 567951682 630451645 781194701 431794696 140159258 220726920 344722822 534360022 129907057 999359584 238307463 339657630 709245260 949196921 900697379 530015447 387297318 490421932 712380929 628471481 447484361 156407016 408695452 822371024 124144847 904149602 516172401 449889553 275781935 388145657 344607913 352118195 866157907 221449348 305922267 354044820 347598787 238649588 315432816 395585768 584089619 387689369 679877138 211945185 874420959 803967636 338864954 989020202 520330312 176376895 814552619 790896809 538494454 922666719 889253397 209063169 512811569 244035045 172703706 657762792 768046470 348780276 178061071 914065826 892809297 982049799 373850837 343408537 680004734 286161541 377978437 359671961 691133829 372767877 891166207 345840701 642273835 145596897 801619044 523577810 884880611 203809409 570905869 999632127 902798047 651364580 434688170 386450754 425166264 453213648 791472821 622467283 954989968 417650670 210557639 864633105 881398530 274190631 358491616 117875365 413774750 813675792 476947706 652627341 414065893 380883960 666608200 293887640 707883929 718817213 311901750 335410618 627841196 483267316 753156462 273976306 811263097 464890653 126856394 430630638 241953547 772230485 325934861 467377206 776676678 840444649 281675033 164668158 356156541 116551107 615226614 917316706 738154793 755677937 224709259 221915535 717625814 983921562 705906952 287355630 841935650 989606993 426416292 732419922 399266425 583980843 723543196 618797311 280068567 439849037 402453292 583261136 143455925 848453228 348550381 478785088 357327141 219632478 613050770 743027661 315230175 118148185 111228644 540820810 993693557 566292956 408696188 399399780 725827228 451851251 446506760 536689630 580874320 540191828 356502553 186715580 309700071 682292196 374504070 732536804 288718786 874108279 278511304 845192043 391575725 509128717 694330947 810265928 544406706 411132339 136852693 907450867 793254640 742397921 923436099 569154068 736040257 785450565 143732374 477859260 401746441 894904467 618768063 451361749 476271825 494466463 523911351 321192399 335095092 727757971 836075034 168116538 904767419 560040443 161849888 424072074 985703319 561434330 589267421 470571042 339479905 320025102 182139064 296718059 910504756 636405062 335899010 981893090 151092249 510506700 988456525 421229055 352377490 741201163 202874906 550834730 192016714 210717880 485609636 745051218 577273013 954348934 868692392 635084532 173115475 579489579 605496621 908951123 627323239 166360273 469438236 589587253 614889943 878192021 446721803 359327483 184215111 625669596 408660645 110154294 191673052 372923181 280272193 691892465 243677581 775470732 896830558 415812566 691563836 188817799 425509948 849337645 280012186 472065374 377104171 589614638 857834261 169323057 332132056 780657884 911560258 476268109 445115529 607378429 813114764 988876692 865396592 651773893 587447327 577879075 375929290 616119354 892707391 139259721 285897710 200456387 383711919 602307763 377571958 827820854 317748120 740814076 420085670 798648670 477961855 573929904 507479000 923832789 227156903 360491854 796746098 171752879 237905605 461577310 389605096 918489309 671610609 150442853 194526562 959111171 582165058 770073928 995555239 407359849 572221368 473581189 788644135 981890834 145109536 115161272 396129729 475190460 635466073 454408209 239340184 505338003 100287305 515636036 791585781 469013336 203465365 936270990 240628508 786522613 950987072 973459897 398768722 158609362 805966886 941646909 439185008 727733605 562931077 716008274 315005478 318363551 914741871 591154392 826522093 729380452 839622611 509568153 299207186 816222032 792461788 110365649 701154139 252621499 950982752 600731263 153519098 313621645 590167658 615134287 961435672 904747067 205175120 122056630 265869069 185729591 277289584 721335246 748630206 583183994 240758259 936823416 551485824 232169988 215689755 887904568 998924327 488316687 958058101 416087715 449531324 696437636 598063123 182047994 981970629 997498847 678013754 223888979 477939370 628919461 125891841 780278462 104787748 600967627 367746342 989670301 415102736 993172493 361460585 164492740 523245240 574202898 622107682 581796546 692418331 192918704 702009067 370428522 936929633 532411828 635121044 540699528 812552268 179171330 311132111 516868093 565383516 984896642 224160083 621212007 335826023 884729310 311013829 708241154 880455545 260975021 503271011 179789232 492369004 881409671 115318510 742634964 423254217 746345428 329171126 846686315 320929860 240304754 735472828 389380764 534323237 616980602 710302756 690327576 946149121 589985202 786604035 903902490 694608812 478131309 754371951 374345906 353820709 230848557 325419875 943791448 862820525 810039596 756995095 331106301 459644286 700184992 776940016 982642551 370180486 236052812 977666622 585618669 630601903 332541784 394530489 225295333 792010948 740682328 700888188 515992607 893187838 433641711 547513982 130631872 660608430 502145357 563497186 110383357 441981334 690305291 132902694 603312304 622608695 413475400 163665125 206077875 708259395 179621636 410963569 222716091 383480916 104312294 881673423 368114697 147128986 686675962 298193445 999840248 621498310 603108988 722832359 182527609 773505273 652137955 831984813 596296786 415879285 884761950 119561321 761409335 644474334 838117348 111367044 631937936 317312635 932411696 790199650 666959353 240830892 593301805 801360859 917053265 517305134 293122051 455011704 679009699 270232894 364319243 675439386 801596225 530392151 820784114 215020024 742275811 185806237 397863531 621816071 383287316 602811294 280616054 502516751 385362034 444820189 180553140 797936415 335929923 969744289 148794347 219699954 305451503 565133754 968040386 364286129 408004924 789719418 658048021 500630009 337497547 694495356 287525990 703469702 427534817 409579045 452176914 234529669 167298993 669002397 395841787 953040433 962434238 418252444 325506288 890162164 598036829 478701716 311382171 133431006 752634529 869348133 230020189 517760532 972992727 323804273 113215596 530055936 924516963 902089604 127343850 777859051 178021989 395840398 333865427 537578398 970813658 463295015 869509857 689379202 984293737 141339147 772419032 202250096 439163095 953134774 153813458 563940935 638515340 646897309 876863448 503267436 532082836 973639320 584960401 159540621 179006591 217206417 331368371 621773100 288511781 687610097 658191369 309175482 770523569 584187314 508106944 525349029 332784572 393648964 297767853 781938335 625728001 814439281 151909018 418109788 875884321 569482543 633824637 887450167 589524585 715646137 323033653 224576070 193751291 393592998 907737796 650708238 761106361 180806797 519991786 254405434 347733396 669468551 760896346 370063705 785030244 644566573 114784027 962512874 217024092 234899360 886056943 665635264 738490759 213025257 487659838 196415183 425704226 277168533 629719848 587102968 819281895 413757024 201406122 679313507 548173610 130383475 109213400 227347316 992304879 715451414 364654628 515365926 437560761 500512011 293910732 248008084 939445531 937444855 267109388 656369894 833931177 775584320 163712464 730631573 490038981 691340557 891272345 554622091 414104551 525294108 187295292 203894563 381274333 185301578 981756282 525817217 750847303 840570644 325562217 916858640 566666624 273603489 542791672 551569818 908470757 433755211 933018027 461824777 938526694 791792063 392489654 727390183 143604912 233132011 346160462 183414259 597527496 932669060 488004860 790703686 991681223 704934785 360272176 448452133 356076183 476208773 560951975 284245962 206092437 975216823 995126238 664609913 719337535 861003351 871837650 691102187 866894966 598101400 828704246 649747136 970896907 261591877 725516644 733099484 766300670 527520393 390200131 808033333 429372162 896024706 854577121 288602180 863495970 444350447 493741745 208986444 142642342 830772548 469503642 690773793 322537554 498953085 569645227 361885926 962973039 348419203 195164876 586837383 279797304 696015030 123436810 554254808 475187830 774717459 808898250 329346911 198143405 616352178 935166247 768202355 239063037 283473772 405973794 328238868 285629560 389698714 979090977 510271336 639284410 387585572 246268746 850456531 738633782 741816545 390383509 544997400 277122729 994263580 162414331 496642374 528350729 260214817 250122910 329940570 794789265 135185272 401098940 134901029 798698473 220842501 139660164 542923604 927469455 147289098 389057112 677868518 599117231 892457940 622000085 187469452 851963565 978701879 932658341 950338367 515747409 202492319 886540818 604302873 171822795 686989250 668138051 129373871 940432935 674231786 128808663 925584915 407937035 672856516 997850372 121810761 432674187 570609916 873388737 979364599 650763415 481709674 928282991 975373064 854043152 760670556 475236530 239253296 874917259 532604181 154652399 710416991 685384220 450926795 807564599 835545993 432789386 560295287 173217601 649419495 572543083 995774718 758624875 320739238 813861452 273509509 982431246 347427530 211749368 523428785 976026999 167265027 830019890 874663008 390220478 824822991 113728497 656082088 364811458 790839309 628045274 449682862 916280153 790514921 912058379 437328535 102255750 736533792 249710017 526660110 785768997 123897453 440396145 409063846 199692842 747712692 117930222 860361400 292921190 530771111 366921052 680550257 337090309 231348708 666827950 162716361 151776397 259641030 943425401 519395232 739451230 717638905 873114781 459083191 980809692 726872737 800183043 992503354 855287916 379430540 191705247 607618245 253091150 347777439 728380859 941584207 156906055 503341233 895665227 514102559 321704635 675312078 264719595 969701178 488823441 980118086 127378126 467628936 437173564 504239365 813778786 704638683 892447389 488089663 423704660 501971538 398354190 170518713 466278424 208937161 965110661 198096839 491805606 587451643 809198567 149893419 215847593 325758509 317367348 472177030 387601441 588067862 290035599 806179050 526851614 497535378 466390774 935119169 459974893 743992207 200547318 137532721 615132760 943956646 311577075 504405332 216044123 502278154 617706668 993915715 237698350 682595267 516999771 419296078 289462503 257084655 570322600 232535915 223796116 949028094 657333294 752529915 506364529 213998684 333645995 480498043 185573694 853212321 195660620 627784919 441894218 979350587 520284393 530237760 288434187 272638477 598952149 899286919 915825683 545756408 383677892 727429464 169783302 361054454 189577305 224797921 946423967 979742136 859935629 223485410 787283569 933323583 198679124 380105679 251211712 590426618 906403597 636665979 282755606 477149068 800690651 591093551 974487022 214677366 492411098 406008482 580349124 207903265 636486621 621617675 303415664 731697797 384232159 619855330 779887989 692712678 970501237 431531451 941573486 485198936 641858956 244697807 653265037 173555891 103023188 921850429 693077159 571757950 594914049 776350519 417566277 178494491 926813232 995193687 655926503 993719402 487425033 206653678 492296385 725082274 173171837 819977418 235300745 174499693 815251267 830695297 905621790 469439539 180838146 769136176 925587522 395625226 101472507 771371403 378237132 284512939 330946390 863534190 457714052 434625185 829966055 245583843 156328655 886504933 288033128 483630794 981793196 905604740 354474921 140452403 608821042 515446965 728150560 139228654 174288068 544866060 874167229 591887299 917919765 234698583 775627312 761218241 192090710 365479771 767554760 521866244 322148928 794782525 365209834 931136489 498296875 276211220 655013279 897734718 586064119 866815848 554058154 674846461 600346491 792301613 609214301 644339568 542797836 571353799 532625707 552079804 327268131 601266667 666611933 278649307 800239655 328952295 785307751 767323078 369543181 348442647 562569944 491258152 190236840 259899969 624131501 134615482 554602487 315901884 473674227 797487623 297182951 714281695 382948140 132530719 124754499 874925389 565522589 313947309 730055617 728525235 597678044 332785969 218054262 946263363 334175752 984128095 958878381 861729712 598052831 316519551 643548570 321484158 820955173 172978869 722728587 671818009 239160110 734659977 446092655 733522380 160476664 522219755 407181886 214614022 479905569 224105131 564726550 868607952 917123504 528183937 938149239 800418548 284469820 129422712 120938519 771864868 259056354 166182840 181688800 926009438 135323207 981470218 194107777 166069949 916145458 873818632 939333091 239857340 938781781 562398078 164045893 511323554 627662607 837640642 334471732 858177909 835306647 265839517 598409334 180088299 885606809 162697279 695486725 220955728 733280683 276745443 850530653 521334638 689162285 165748884 639057032 929953529 678769583 678365903 465599047 319394324 381992178 572796125 266174255 154056406 318683501 505553810 682115802 767911868 103835130 661185660 405352771 287634997 643956497 982160763 605221956 954779029 572576725 252337617 250877137 285028073 375220171 834714126 551499531 407381271 431493800 702944844 221662647 705154733 916315620 535137531 171834618 398224709 100252675 395351012 332985636 110313252 819900848 287068374 415512142 395230387 589118552 386879676 317372702 580341125 634634214 731364944 949718853 460361874 236766853 927883214 460018399 147034765 330618488 728517058 872964567 908092261 110197221 960135349 434145092 147610068 584984554 617003134 988172488 928003279 894467487 821537394 932618149 714822708 371440225 202409580 319116073 780467109 595023465 648004330 216133218 185951364 204795580 828871451 630348701 452505128 710887568 583231179 724465430 948667034 255618553 656450442 438455715 340933089 904137082 888076143 311907323 266678625 511123677 441974910 829031836 763659573 945367997 409063528 386835935 491365602 236229482 465242335 644759866 974811602 900809485 226037818 167887641 295997730 255976551 760968339 810989392 508436864 427211300 993095236 648747439 830167169 167731168 493887470 896244420 891254922 571999708 986698625 739219536 740427033 174187506 819503509 501223023 414782474 623535449 316134525 652697838 395085128 975495010 867246590 401358662 269243221 996803600 410944504 665440686 633445320 791266163 447125556 813898257 766296256 894086193 355337815 583543051 677517283 200913095 291918208 128839050 887019930 411198760 542653761 679541540 421947910 482640117 121516436 677256026 820689553 190813535 724940956 626381372 470928869 151274704 976869435 279616257 715615694 265577052 670678748 943008617 560630328 117759249 835610319 550044482 469597946 245581867 719980423 165321786 365518602 749728533 801000624 512278198 452921423 483705049 330200032 578555790 805496988 715229802 223340532 765669923 402763443 481814592 438512279 311159262 870878481 661325050 176257697 256724997 345084684 379143600 722643003 989806745 127728799 853368531 129324189 811709928 707686432 778467640 896234712 148727533 709564036 317914587 683218688 241073637 668109687 470368260 728267108 370052454 308850569 654628875 244095233 292128554 779056620 610015499 144117720 573551353 727140447 465694558 282518554 864886047 760099192 537497035 132284835 206096468 122580323 423795734 169773638 446636032 973818652 458420645 636146416 902028719 428122073 231421276 893670896 575536846 377573269 278095830 725550774 126257669 816557300 167490104 675271437 610837402 984053841 834891987 151628555 665181042 281818856 376264413 747045481 233615928 681922308 790246752 938434915 448493551 175719147 198060031 449011565 536629565 762180737 122124489 389719941 623577930 528258416 857185016 136919673 349246161 953794458 323267864 564741005 807909925 721961901 257491124 126883707 194502109 145670279 705244342 223546756 390195162 860455566 765092438 215937468 653960310 388365873 762335342 113122258 540648726 645875722 646310557 299366794 724414301 174440946 319532060 226922610 563251354 244059397 632890767 799155876 981870569 119398544 314478698 458884870 877358508 401102085 641461213 391726994 950051839 339139862 891030697 949045132 330950571 859817287 740434998 594023958 305353028 714016019 397007547 314076624 616277779 102499289 198240197 619757489 184172211 686498110 822199446 958306529 896269044 762864173 258104804 475555014 994047248 927737584 596793211 174673709 399415861 228743021 909459272 125654733 434210224 806652754 581747758 342597158 528253964 228846134 580603916 258787117 205457976 585213300 135407753 597248524 510060718 231839168 453226046 541360175 972732952 177166243 189132900 694619472 793858378 598567702 655535166 806371388 298073682 799534708 608975445 615954769 381620427 981367432 215173002 169573044 263737127 590287131 114810776 346312017 380682363 630080625 399196727 928693248 529240901 801349959 726598177 138666462 863818880 290374148 337540642 992328089 531513865 557316351 181358029 628268147 749402270 187629257 740831024 227080180 478659306 134866702 855186656 189919398 263022737 427597623 810483945 785527517 488360239 260985856 194791346 490580951 672871826 463622403 948308446 388283547 620129016 938828083 347068623 195427320 351163161 146948458 857508600 200268550 106410152 550090689 384750565 543328228 802184225 727074384 804700207 573549102 484066506 630026887 890930284 259592706 853345187 722322729 423046717 625992642 104946477 613881609 236967556 644084355 987281032 179333217 772493843 203800749 311360989 718361810 549913281 239198393 222829728 297042567 617281908 932147173 223646115 775099582 501298743 440400638 378706739 899973423 447130211 511223919 881249835 755381791 436214229 919360945 102740358 628841515 568345533 322663365 138121323 692967077 729577978 548448868 631277438 386429761 266712270 139040191 491026451 632995963 340947457 946201468 282481058 263821747 191301673 817721796 487633131 768171130 470454180 183474562 920643340 927061704 320347114 634818508 226040452 376917346 526993100 328056559 114961526 422705636 108345171 101487790 248681273 367491814 428147798 550878153 476442089 853337035 397239680 944987182 249782084 221266685 699544854 569219294 815740965 106647939 149384314 373899670 207596873 617875960 240989647 180592415 661036541 309971219 556801322 596020478 732657230 681390792 448910210 633709604 116394747 839851715 474339138 618753963 556852530 345741293 903370910 846497710 435256628 774643831 925963875 477147971 238103910 749377316 470678153 879009812 584225119 856531553 450239360 466953171 870997981 737981703 762458468 239952549 363939321 206911286 853213879 761295536 421382674 729974480 553438815 131070088 966851684 678865206 944628407 645854261 395970404 608794406 453288692 201269644 356216795 705359336 898345756 967057134 809796389 646851873 550876736 450684517 504598386 330124921 512199422 549696910 494596584 241584389 363709021 913443903 685066065 183687457 196284020 890369095 675353590 131179329 967186789 836758546 132531330 350691866 937899563 800788360 200536475 351843740 273303785 799120285 247437834 275263337 870369603 133750111 236982189 756136992 741485496 917188958 422025617 291163385 940863886 225981640 493566504 112360372 715627783 519797937 177308141 738129872 952117592 684314615 209094072 887465078 530546384 246339490 769271616 384731768 909133020 365025237 600231715 569105900 394248642 958520185 119440050 998725513 459374003 991702103 342343315 347675679 359059863 874609376 788879587 252015640 494446774 810379891 823320084 854359903 565085686 695811019 445625899 588818301 641535458 328833687 994661022 664655547 344605557 825018997 456729359 582857245 841778603 900312279 709076726 442060175 243536453 590879722 455251159 888606743 272903487 887536216 950542387 685056275 660706567 437232590 646677814 589381545 740037305 850417348 404807903 948088863 155418642 413737415 163355907 305646282 645048939 182955446 264402527 573527949 278775743 595740142 923894388 682867554 456106867 130280885 667116920 110740628 947175008 517954821 231481615 873488796 412244228 115650092 950732087 426091140 713768090 891699835 200960346 149772118 805052178 530072971 478310397 382826535 473193837 608074367 949234629 280316681 428944193 634759752 479266406 815068189 300227377 207372062 418947351 895031010 437062537 440156606 535064361 865904420 153310969 246865209 993110265 668936290 243915031 441028493 205713918 300408723 327021866 629181285 684198812 775998997 325708913 559813271 240005536 210850607 150837603 632490520 613552510 528288967 128125977 495935037 484263359 138897466 970726017 670100624 209161399 479534705 325516845 142917214 305337795 900919284 561784973 861188901 455531915 132333014 957459767 885399897 462119711 266340938 207921639 465780829 196171476 525474362 451559742 805704861 496586177 453344208 168833575 820360057 312292310 166962510 931114631 791527891 787666658 236576484 630701422 949606749 176372434 241140959 915098996 310723622 102086605 358565415 807342168 441247392 627813337 401569964 747452665 557359990 935133073 669487460 643020676 445340079 666146064 345547588 484348415 915503417 322307976 903468098 859929956 742794197 147163085 659509545 373404139 450670757 992037981 604239031 929356420 605112113 966481645 868653563 234208807 107428385 442308022 565169803 865925126 132791131 547691601 910723054 268913064 794813284 251244828 648450288 175792852 267907701 290877129 836373319 409985832 973656011 159726837 987322730 127162025 250247053 462754699 415943814 587534942 943626750 489727790 314662278 954955579 170837029 862040399 378421410 435437789 245896397 747837848 214915260 740638906 121164603 572632982 143113042 278600148 289238160 952002241 571365850 668028099 160767782 914264686 214980130 820407365 300746628 392293856 497620960 662852763 659163993 182249663 427614351 356539718 566658911 976048525 687588113 544731177 178122291 382528766 780547680 506674966 725994993 188615032 136548698 557529655 309608321 541995685 349261445 387772667 920341272 831659682 875289139 533462175 439859936 332777643 905679842 638936388 268918437 798174363 939524550 318918666 381243880 760386340 809361523 602797969 974868047 310649083 492815403 605079028 404689954 668208385 305715950 629882813 716351950 437788072 963417758 873681352 362501432 266886193 375612635 296073282 444367389 572371293 838780498 108511300 585490970 325888418 533606197 193671245 878057119 283307429 880240721 167379228 438005500 689700759 309672986 606934450 246482259 438098408 954647223 664103801 294110157 349002163 790803983 347634934 841470126 167208029 544270898 535764598 700663192 690420638 890554325 155179428 343403034 953125299 536038483 671530033 288629436 315753099 182550236 163428510 533606492 918924236 340978765 519886779 267064962 884888630 121718268 336630641 262990009 812030156 315447687 771711447 399203465 289565390 376993484 109925217 100814762 108393367 689333048 945494013 159721126 234941789 486773564 701485102 750916142 384587270 362612881 242639086 111447116 922083363 647411587 428621429 610785074 547919499 348447965 584683148 841108087 321244264 883466734 799649087 914140213 578119636 202859364 288908005 430600882 305837493 452367700 666218465 768648565 497246993 338843170 353854872 928473322 936291158 544983360 844565868 706918126 714526257 672438596 157616774 849160588 191979794 346290558 423061617 727718388 844778871 208639581 483097651 398128792 816268074 306996267 828830378 162528279 222288963 735999461 302263920 576085713 562064250 655879614 646385434 652277605 514064529 621096691 389330695 680469027 717015254 522184121 546779042 919458737 204499103 259734185 159562768 820042723 707885403 364076577 110350449 884419927 245257178 753264640 754175818 518138964 294471587 694812436 432362974 152525858 761371728 824874337 424103991 348427342 191656028 919500650 263644614 924083511 734109789 495093286 886255775 578245044 307817758 986019750 557848801 703586931 370577612 671697927 147276592 389280785 658129505 829938068 927194729 514312726 228016045 569721439 481592193 530997817 296149349 390490566 873021253 919435018 480149658 654444012 444478845 298864663 423957352 404009139 571436794 474287763 643562574 516643880 382020786 995289809 427001046 639093776 260340470 883933126 422426210 436050140 559887829 658539036 490624511 580414971 595099092 721209470 241924452 545255142 970039035 250006083 223156167 219853672 461074673 506904018 884787489 319337692 807393896 635469841 310209914 286084001 360508400 933744195 234285462 368297988 371414593 493115386 851142378 675734476 649612074 939805847 625362501 654424139 378360842 162375084 765934001 572486991 276402125 105221639 614107081 698826645 472488517 263112720 784908819 704761554 544317485 790830219 125874556 862551846 942999388 312670752 774759451 753005816 553115366 423948772 978684210 134313571 387905996 262149828 719671533 592038601 107583514 508222871 451401715 404672945 963583414 146534532 914899147 577688094 498411874 581609628 734184065 266736398 810019078 899881334 193764155 710047672 203355575 725869033 947275854 137706953 480250871 729035021 752187232 128532274 149607836 706198195 365561929 680185240 570805479 768263518 644006806 413543312 881108730 221220649 832454400 207894151 974970454 168951135 741684479 224267936 353256428 479527493 884451022 363209627 337814762 820696028 571485371 124833795 183898688 863101573 911828652 632996854 254661935 625278487 232004338 607134690 473033183 773485363 637372852 719926365 216700104 134372082 327203332 186242145 850362765 610464841 985381598 519944976 682563362 210338037 401130881 585447933 700264589 273593520 721364282 723757630 728560048 527919144 187259467 598198906 595079144 719428950 659532736 786527110 141921244 763874628 290301546 975566970 986727014 597280293 143552317 799427441 308210316 494273644 343995900 873334452 891290080 729811012 521378060 423181777 458469343 482875674 665047866 299173654 282915427 341270236 435190942 814987020 464051631 563682631 896737446 680160116 642569775 346015906 790607675 901024652 716421252 283670016 758880911 864954769 643500000 594289479 945573429 787000380 380971865 215339130 243824623 286852440 974636765 516100690 584645656 101397083 881273040 551217819 593708134 278779924 385098841 580816743 754002615 760108385 583292229 599290927 765679887 583330840 668788331 530259048 119376580 968039004 482120718 648848585 899168178 309217445 186551377 586378706 860561025 625338056 726026502 963240659 328921525 690645883 115955743 114099744 651262268 609427425 525098157 302497210 264156374 366869115 635998858 960881509 977336211 351500044 547736258 995028856 231882496 500639528 702216616 679677997 243427812 628772037 910970021 566694113 851939759 281610193 755317616 610348599 769102854 469353841 733497090 908341171 710040990 669238966 980874259 646157302 648827440 940679970 101248911 734757663 969621887 550282714 680349243 442384346 470848501 438986889 510717040 543821230 879220825 176703854 488742024 908436109 964924800 918858915 168713533 162965220 535672460 956277345 613450814 284092701 889885526 961403327 478777112 834990960 112841232 131541231 597115598 958477521 995764492 957304407 593391761 217243676 666855146 209673145 330988863 152923340 276392755 109453382 399791451 336899194 880548050 123171769 591375831 483624973 745395849 485383373 994402329 429881533 357111852 736253613 295377945 611312885 293264624 137725046 958418556 678939276 978604358 746054857 520607975 314838982 258850145 777024696 448420871 700542771 798326285 893764779 511199242 210558193 475274489 232483038 443805115 668678050 489215504 425396706 292501541 100893988 741415867 408773312 474622292 509984710 261949929 992885713 532377886 885660905 499961136 779601730 514304893 613745513 721770644 891404508 682008982 743215865 451429258 529300221 263590948 913728079 556283803 763166805 358412731 339304543 204463870 946583525 676293105 799292247 323057851 564013900 662948029 121872008 421789516 150838052 664138835 848431081 968278843 248566654 624276771 519891121 236894084 135724867 248582410 930453328 716663541 969512412 126825201 654311479 873568123 472802682 633945066 562057577 303428525 851814312 480921956 220458530 193961703 281563954 301227417 776949022 246574430 130855285 378232956 626534724 932702959 219303281 426375954 421420815 224202620 124643388 950077497 650351454 202127898 615618488 591647670 642231300 595357680 835171659 592581808 442059339 409443472 479018981 566611889 640417358 682239256 785168723 751871974 297199986 673672643 814114847 427816483 957025746 273942202 389307589 133379177 335456132 681956249 361591579 410623300 891943882 337460749 613259960 326835145 670442578 163344399 706522126 874915803 469429169 118956349 681680050 101646947 256036595 608206350 394018924 908828893 586075894 614789665 959134684 292335822 911644591 275093323 889836021 726636114 829905160 805453823 201495199 525409095 258345766 906770092 111504725 499171957 331275150 190777379 690063625 370264173 582780940 454610437 764159570 279680715 355109628 812966658 953037072 886073399 420194577 335627840 932849753 701775035 968820491 386461510 857534270 222290485 518686751 744044014 803952660 128651669 657072207 794852733 577370287 741794968 170978345 602309046 410922282 374007207 637113704 459840094 388326196 878472601 245001567 856198943 213697977 518845735 605913255 244435434 131855943 355608812 903692837 269334828 288975909 849304530 368947152 404674130 115000525 916528055 267243078 523328971 781180184 327568602 223763413 721449087 244535026 360805902 177205125 390214513 600675214 813168330 330640630 620539920 675218638 155339395 214233348 238651797 889740650 473440204 869983660 189521508 915882738 815980140 462515046 450805134 660870675 809386163 498419019 197346389 670229019 741736123 401751653 509282580 173816629 789269441 627391659 214815493 141899858 382597521 258064973 843198303 596124365 488086507 492510977 376988083 512413682 363980345 740950733 662005480 476444747 803343821 615815887 911734670 323384233 451974560 566111727 626723379 550564790 868219181 693128628 758429403 485056903 937545056 589059279 780172976 902825750 470088182 160840701 159853704 434872156 604744810 704325697 738926383 453973604 619234064 155605072 293193333 558250194 973432255 789011710 498897382 801770787 283076997 777230807 855120380 100689015 968232434 396376792 400249878 455036560 431323199 529472534 195592503 238325539 553258987 907200308 102725863 924630077 283984758 858627425 316807055 464823168 606413382 442288315 347382633 157187488 427719105 938365448 420352459 218719266 670233132 764810521 155923138 911726265 502010894 238081942 357001468 511274649 385524992 183629460 251419955 616612094 928676073 658077803 118772155 587321572 609498487 610267373 328752509 686466425 376251285 559239805 815912333 208844832 847952814 606285277 930872702 439165048 348295399 396837602 969138687 530600818 544264988 108976121 996670882 937073919 635081967 189573469 593490775 317696334 500098736 227999828 869385065 518661885 227459165 229239489 101852979 175911949 164401583 832637737 623006946 334266347 960041383 475359638 447942194 694713995 910876592 707124088 239873784 655837523 501536741 749044574 462981465 276771833 194098753 659273958 273216049 523384037 746510177 921579150 184445623 965291979 997428936 437788466 386430324 437203606 628709193 915478642 153364020 521974270 226042397 943429211 104005273 626924241 514513730 390703231 654927397 104840532 376498885 437536299 186350411 639688996 561857233 434438093 479432376 246933931 313662808 569845653 873592953 415218538 486026489 846632725 327013688 222646621 841034048 480322006 951679879 196586928 367620389 513296143 775782092 586373203 677167944 924360398 283849649 874822950 365175873 600774109 219596147 222253546 966740226 726249240 418270831 399018522 731210176 506874345 847913576 900117346 852598289 250050304 179179358 360570836 611242016 632334243 299384909 652854403 763720699 429175600 665840659 979686955 318781871 433156778 983999599 405757265 441075206 878463342 795905679 875435265 351382628 400364524 610353068 308560223 223867337 982216778 970037451 404157868 908310906 333977395 917871261 509584135 177736642 152682195 309513029 260547196 708689652 478045226 721878583 791966470 602141369 814302277 740635342 735540145 154594117 931888212 888965699 613064891 351714367 729653998 289304597 672706594 850494370 470904593 936969473 287538666 673430510 475057149 917276644 139715751 393734493 952508306 784819007 801271685 984607755 348866781 319211745 154878325 121952170 409311521 796749969 332319208 835334606 248675669 519174223 923187319 377571228 438719752 264247645 307174189 148282243 737625282 443002437 204345895 483358915 109750000 899115150 460326570 455156239 436644370 464022682 241294220 773832444 529745076 930573178 241335268 571737425 311694579 138106537 617621337 544885284 794470731 271555567 381954390 755337397 523785809 509775738 377900214 523048219 341561221 730076216 439659949 745630288 478866099 681615599 384470533 119065209 561722444 914784755 776947791 935108613 250408928 114606522 112055037 512688497 218502371 676837484 510646237 729270151 514279851 189118267 924541359 670602807 182512713 571271994 415373458 283216863 170784582 877344639 446860439 264318880 207183281 607087122 856902172 928553247 966138209 937573542 473306240 712999144 532949819 294918345 177113444 200150444 919279617 641113165 462091087 121286594 699106855 979695125 582241734 979517540 352176260 166374336 595310431 725787116 352637785 941458370 232231444 365671899 636576925 214322836 514298628 925757887 487277746 356973417 253991794 495032771 264419440 856816876 930461444 529073051 719652140 412161510 192393629 594918796 518552710 615258678 220408938 920373501 220421853 773854165 998954231 472614653 845365199 528271124 292986729 208882659 476078203 527293579 323915618 551529430 536103417 151472183 743785495 785303638 947223419 468379382 178334797 680372929 425506115 660223821 945468624 885092428 881271166 759839392 893154298 685264132 578483036 980154035 240551193 491075323 630654213 458276814 828729554 424690736 770287969 436808929 901990809 949919361 746351258 547760647 817966997 155772118 940775086 741268410 788622272 747246633 576353389 351055996 955362529 312033752 917475000 199707448 537079253 787805362 198349509 730532321 889625913 275821246 234498122 610100199 356393532 934251950 899728026 514435538 502344155 806214656 955698337 853032090 552299472 951460645 475960315 557208184 222527313 241094762 594701316 267858186 806590523 383870917 569425646 874082764 344840574 319871188 255078744 917264450 629271087 648799234 592955491 406393787 511791088 236318090 159013290 439335774 565635369 674195174 622173423 575641649 573406448 795989997 299147694 170505488 249373123 123989534 451407189 547075992 854083009 866806440 154376959 654513537 556823855 707039901 957470099 994525911 971162905 325473371 592354854 827061650 193559282 250572124 856293933 667572929 239070104 653173109 865525697 706285068 929411383 873791823 807025860 533711476 959904226 378462845 938400302 846809362 886006028 274528735 838057245 968297906 748639460 218058970 723838516 447976459 392847503 305630818 138860038 484769066 665011512 484498183 331310906 403577964 865614766 518615037 397847367 495352430 179482320 682968460 108232324 617983600 160088645 247561063 326735522 591994275 121681805 636875490 823826629 965732155 881493355 946710041 458037115 975289915 636660711 790803750 673394688 341460366 465962653 468273361 798891193 667029896 814507622 558633210 536243745 942734351 976406865 850674953 636932149 980543585 839243953 718796070 925282633 893599928 716948506 857036095 117957752 832502955 643451678 940059899 738943130 966764488 750842083 834153697 503209005 389440407 734938596 786894314 675985119 828349557 672265411 413373743 946711618 434455518 568189054 215670780 690895052 486090448 406805151 207066526 496784638 984738504 156607678 740976349 592276437 777985685 739350166 871850353 272724974 293756137 797522927 749586477 810412229 489538848 936627148 130253823 511167047 422141726 770756482 254851858 179790841 899588219 751347817 237465771 972884222 188770484 593095499 483615282 585606148 229269764 922552228 339486251 338002997 951082861 464426858 710568633 996915373 331040175 476915284 730993304 996597767 104958113 270627354 498770317 287971018 322251841 873895869 957858465 162664579 547619598 306232844 173799322 796920955 971113295 496840671 378983970 226550909 126869466 343619986 201534176 180331996 302341834 831620087 594188718 831676818 919407998 333711153 556521416 162653925 142363467 478500240 590799383 319618225 913441750 230156083 901022518 904730909 364333359 144532609 244191116 302976952 921658217 610256561 825526229 527552721 212165969 500104154 751444471 520766651 562541388 132414097 756665832 800658872 326717754 361822249 271024461 802544935 521833487 557945598 564499492 277984455 995806853 769675972 292716383 976493230 344084057 447854334 888145872 988128297 223339179 813070031 849804547 950219941 885074814 575043259 709067909 442006141 416915845 380175251 918109276 813870608 120849338 565113535 739100686 827184452 958679375 833240817 764123371 381168492 644817632 739562919 468717487 235635242 398874661 609503134 503507176 719925485 316611617 221866716 417106792 439628818 323363411 553512516 406272515 919367574 506882054 753944717 918251943 290988480 717324904 596813226 208866460 947017311 330384684 431823064 751347854 706705679 568783345 433937251 361365763 674253150 848820503 736378617 787685401 561406624 784504537 600209037 620347405 241884185 541869126 799705771 495189101 398005958 350356820 657705687 279269479 776313826 273767544 105546440 554276535 222171573 843503710 479244494 639085758 582110134 555253624 742568318 867322768 841526796 753991495 215264781 888895938 404379049 778403336 624379637 732243334 472019975 106343355 491634869 430332309 338088873 836846634 511088910 690219269 279886697 338829046 769470737 103507805 677814289 880174627 103935837 825765476 950801426 525684223 300525810 449007271 189354790 253205412 951354672 712443764 222402051 261643030 489234543 885734481 398175665 570623593 203072067 107280622 136904606 414915062 443617409 258590611 816083327 460384028 385524853 356545931 508904225 551292824 468913462 638506572 581356558 720913235 892138970 203609034 329079777 657330526 289988461 202394166 419695533 240569677 617985152 154018530 875581224 662426305 841680621 546811928 369866249 176402338 617182407 610054552 243357658 191678362 295556681 475884859 677572069 230575963 573505760 304931398 696954151 199845764 410865074 967850920 350599174 988174760 172984137 538395237 977238267 619620152 498639104 667807076 874892840 910095545 384070413 951870679 345353176 495307579 467232844 976624499 995447620 430935817 890300157 593127717 657227925 329501035 958644527 386637580 493920317 987640736 135377310 227328616 187719111 784527178 610016957 547173642 729940984 123809173 323380023 981224360 739301770 365411874 209325764 186234810 210604755 355932061 215442046 714223465 608140610 534267526 251459845 486901326 193956413 442488898 504738028 300293382 741534183 449618647 254787111 312471149 411375841 713980230 505269682 784248485 456853256 771883667 454824675 910824922 179053278 188521324 431299377 357325727 537846210 265858732 674220613 130336569 954513480 413975836 741309581 736359579 160902055 560771216 518661792 784009252 616719574 191101543 388256141 968671450 698165881 485562179 932140303 997332922 311820189 816830243 350398121 848941416 154780622 677894097 267129789 376039438 972684750 836557095 797336723 725554486 194084042 518813123 390860071 814612514 442778930 165518069 763822509 771952400 227816235 135187931 907778175 403051578 630199991 655787190 636561584 701486790 615173187 166467177 880348545 451876494 827329732 783244609 264087108 176912015 231316928 205824629 665287882 498830132 830088860 414746539 509199194 907916578 505507412 577964016 749343607 653542911 412929729 914023714 221565109 106228509 786290695 712976137 872885313 793693469 166088382 399244161 567081838 591775949 454210955 878492856 210402374 317876276 195445285 923963751 204590691 516351576 802052104 166383501 479599063 335139123 841993197 650431441 178942092 130037746 265946209 698848695 776975027 930671312 820912174 225631483 542932954 238190084 207395231 505311644 973476038 758567175 947586584 826076025 965901656 565794954 671085836 695049644 528889392 965313524 809034171 444223173 492323633 968413067 700890141 656663452 349185056 864534370 772485615 355092268 180329404 711529913 333173244 905219782 559472002 800136718 814676099 282249371 904245618 452198029 653531005 532879230 340077631 808829126 521225328 718278981 525612627 375704038 931871963 824976900 190211065 282403345 382827823 431912808 782430808 334397114 955770813 754307235 968719027 372317148 103836229 253363123 735193891 139034112 134590407 904411832 908869548 929013822 809338168 157732508 922182299 835073923 870438232 977161613 136191996 454893096 709935096 335724742 574873742 835565058 165278343 681175393 670107459 143587551 315627453 610909706 456536750 264813883 611362669 858843403 336178134 218961986 576788498 920407758 901196749 815499475 801883074 311069006 648298030 929867149 109138601 233372037 297245292 475224377 512783366 673766507 211193149 888774855 777814661 219450823 460352780 614851938 779490775 696687402 709011185 578228265 865804007 533067529 872529190 239941282 977997193 778540917 271655300 294682909 463576619 230339127 124161294 494067560 878285656 583468231 394258537 139522822 303660513 396958326 149211799 358409596 482286892 895912707 589332291 171272520 555660718 240990600 475183803 432185572 245938041 749038398 644008411 892158699 281306727 935855712 348898205 116132328 698176276 665886495 448012790 851266734 285807580 197802391 932345238 975023403 143519992 614672925 930509742 643458642 982753082 728422987 158219719 807955127 566829238 500085076 160618779 812033022 362720238 415379624 178892020 804276126 128200104 391864161 225504739 697916969 987606216 282021027 261016698 869520379 412982188 948630536 758541159 965978497 127812289 158591562 538796679 443986320 648602129 219632145 264354008 352297661 436581038 150431737 212285720 226640518 851513671 590869693 350520093 941983729 582197785 757419746 498310060 342312954 563396611 607547357 617787407 425882047 746696684 162970012 770092321 528054090 894459157 512559697 772050152 124170721 465319275 963937288 984850399 782756524 300446973 572454419 185076723 831957203 172925522 749704266 525882517 398927599 712028937 192221282 223186411 616284261 468358636 310609278 169257684 768432466 415155566 132232548 263363224 803731602 926110740 315922013 170977591 683803838 191443603 686799549 657888295 882363135 990073791 885560803 285500047 530014448 733528057 930736691 390762386 689481623 261424878 926027713 620407712 757286449 933023057 617779958 693789928 170834267 177745296 263073395 954412914 969845521 229389400 582573002 251323676 144692594 305216872 471482927 377307343 526476582 789110128 956057168 391809767 273360442 209418330 588628318 418260870 436358674 485519843 563498983 129258134 462480770 303580286 265582497 458308088 353401689 840247737 191640011 780973455 662455052 677483175 744718652 546730933 834233568 506291412 517454555 835185922 951813264 841856551 102995349 702681070 458099966 988927631 534655815 528666065 810042607 501180043 596094418 908077328 684294697 478296670 193742814 537809759 640263759 454488035 725157330 657574856 277203236 902309515 522973141 730080881 136665320 492044116 923436812 499658820 292707562 806887821 281464566 397804577 599601623 907734894 138811293 912051314 593586408 827871571 571466635 580731641 231570025 645825185 564410956 314983272 187464157 604466195 151244625 264243802 165997877 511872924 652770267 335207126 975744650 376332900 707492124 596151426 790271839 201037775 265728351 872395511 231520455 726137265 964337599 269562115 703095918 777566288 858937568 447097322 495198645 126981281 316532937 404390625 397834615 264624392 536979315 313250621 576130885 483831547 523178770 343035089 734258211 403694647 271534325 712844300 504054151 970552924 765919865 646293029 416359320 924756909 286885687 463282508 972632758 986385586 293548886 547537380 130048775 180289421 729440184 505154661 573463219 951659620 210078041 547817327 731458015 233577653 255537157 743748511 511158857 686078942 818178915 430483888 361410899 357776582 674289268 596983031 745492878 857880662 116836214 875627373 547853313 196356319 176692485 680953621 745889596 780573849 572902958 144717964 404123553 264251909 295536920 890101818 829423245 617590926 398076241 511673681 306384232 587176350 192654123 882999125 841203346 967835236 479775842 799334884 774577247 349177945 977997196 310975712 731683416 953943312 725561829 373509098 691995778 941639204 561196830 362654980 397127498 438950188 831312622 744846573 513248341 918955315 367952837 142542118 331491420 945658568 464177347 884446142 957680743 119086834 360840387 771952693 598414774 186393185 514359540 384424019 274706080 185270103 336226978 888067376 950048118 233304745 654595966 273696208 280941535 878301003 192832177 737230722 747908353 106780557 755152324 624092178 573177380 531277420 190499897 494520482 906173153 684862386 946103369 313934782 537279860 982781116 819429922 420998513 160734631 707775312 805065900 831975660 810412298 346873466 252839287 801437955 783042740 531665549 990368659 698060770 523709655 865546926 240009091 954334144 726134713 840530595 916180064 752016484 363485790 916179599 155803006 960546732 826564374 624596883 844310879 965098706 231467568 376396086 860803705 699304007 695271395 557212648 239711365 881304123 184819076 728443683 486306966 675845492 565018284 749640480 425399283 990835464 163292510 197100534 566067710 115216282 266871147 170827645 316611193 468676936 879064710 737251234 822901949 203580324 725483691 297465264 763578670 332255706 882499002 829369144 219650664 262234769 600393548 717170615 764968742 580738611 674386032 164459804 741744699 668444382 785776775 804083032 188279584 804963638 272044811 523280040 704874424 504215267 335172323 616872105 261231646 411582456 189700182 285089154 716354772 393102898 660807516 680289656 967036554 779451869 638284374 701292475 254086120 583332977 290614354 825122998 253083612 648789640 781494695 251757846 572098034 963374226 160951833 764159489 386574143 263887087 639814638 115013195 997134992 482037742 630833995 932721922 599816714 162151305 254061145 851721949 434500541 536977104 911880066 490689878 343265963 477098543 181791687 869651750 479771495 346159074 480149107 203675435 103345368 568795449 741587228 280979084 889577657 159943841 641799729 187126469 748869667 585125921 942168082 731557370 355199564 811389786 697602862 741485375 999970506 248229512 157523457 721432499 925300543 187191212 900280349 752892127 395307807 787708378 686491602 869390961 985912319 946700673 410062424 501455077 773125787 762055199 147556512 350739561 464470726 333892520 511569217 231896463 218828276 535032779 923936460 277203537 823713619 684761059 238441870 825796894 324047449 678205124 674628248 581137493 308174631 184161049 335079355 793482035 534451139 960646612 881814831 874515348 841836711 374422589 801180352 213518047 335158739 806535863 982774637 208417569 360258790 801513553 396018823 410362397 842980061 992706428 981713356 613187666 148352625 240339711 305712297 372047814 674450533 315985407 367747339 780664303 473526081 251583462 365382686 769229868 410328404 398085670 455515409 732551468 881594579 157315092 237046345 493522758 101267867 742956195 476504956 930197260 542521975 388702716 200497245 388896896 619033096 520669829 591593148 688405440 213964466 185966378 570318951 942687590 871001689 924350792 290628988 615212444 541708256 978344899 585675470 270630810 512491337 947478263 877242397 614374470 617148197 400681427 932380394 922984558 218328578 100427687 131171647 732762940 632231512 965234949 217805614 241677707 361157483 721750180 277772484 912165043 252839532 306086729 447946943 682847905 959010226 327211628 942872000 548400630 943998013 460670098 964304522 255489106 707817111 943451508 896319335 491684363 696605300 399235288 785389857 750990268 885061647 303741095 418382833 867337741 834058527 245588471 891544501 746705358 440607631 233440622 365801752 302377687 399952124 502804452 607742323 187583743 990850201 683984113 199460736 650160095 927305644 238664237 343064310 740114737 966144710 566154128 593134516 558216422 291420400 920079656 822168112 381305478 800323147 749783374 705473903 427071442 521065375 328226752 331386573 143435050 540491986 217354216 981831696 421080590 322087616 480325277 360188540 526726979 728269906 567671399 855523216 329497665 713814885 586931978 354787978 711950999 440320429 997145645 190915495 761796152 234524472 142722331 953311864 980590784 557012706 974113644 179071868 622527693 841681041 794521262 198555289 929143727 433625123 869410015 693898111 991605526 960740246 232130063 927382140 216433914 894499220 350130669 987264928 786284645 661878382 907305130 384151545 501366579 144162189 351754294 160999267 142227216 812908383 525754089 880336315 681909251 801631415 382811982 777397626 601038617 853616494 183334453 257052746 244103185 826406337 605456880 553331495 643064148 924010466 837861930 853040911 877688447 309133031 439066852 418858617 134780200 670225845 247379757 800435100 280764404 481729058 574878496 691169124 879270252 577834515 456580229 951466754 593668889 622331639 508541077 431306116 866383343 459933272 506143721 920456095 799345965 416191498 806760589 248484840 825138861 916305971 667875653 860336485 427254205 801456824 504387081 369383047 926327059 132346900 175014370 483025992 944859735 503153875 848153800 704543056 425847483 137447631 614967377 139436860 292238975 412404579 683205072 247364573 914066458 702625110 902696094 791877412 337401139 632417124 808659495 555859296 863836121 331441606 659267733 294476414 560615030 222444745 371003111 189067633 640300953 178206402 214719674 813092628 227641659 852563710 400503065 128636852 365360725 202287514 227081515 803039237 924756752 259433148 138103042 100045495 903701316 348708833 567722143 986322814 895361228 243196257 668183325 605421913 746807281 960208702 541282862 304597250 713080256 965495582 414163794 801647388 914593548 853441434 304680948 836694308 533427172 581649968 273040898 248755222 522764317 283658776 220449261 785126606 594710190 606124498 920779154 362100114 403151344 351985721 215131568 562166289 642311182 103852930 403484824 168162822 139189628 725360679 390863752 455701479 505872209 536168313 756563968 183246909 660522874 563077455 250623604 107230999 822800687 230162782 599776980 191426791 970730303 468990351 504783462 533828616 553953035 820058307 492897940 465729401 743537036 964744836 229962699 730688885 745948097 199473239 700993981 420686740 367779537 933750524 943308877 692697954 914641891 857371063 374468588 442619318 647295638 531697546 660327049 417531197 965001504 121628484 517088641 579696581 704666684 258233401 949829825 906311983 406839016 530835656 247443866 480629592 814153237 943338858 461571787 841432439 802599814 744315273 330412368 651321601 751944197 995015709 532275281 451989433 900807740 649234132 899128092 171834835 157905559 916136579 436648847 965563884 614147311 403510254 771965422 844102231 134987034 594231217 398666955 714157256 538668411 870456789 734137837 189535084 845294705 841613319 393811976 129722234 915112603 715021010 966239260 239835614 125024574 953612267 671442633 102627657 261797221 207134560 270197753 892770664 348082737 701705137 937651018 341204572 769408878 233309073 485738378 219430707 663231817 755302637 512701709 269658827 517167230 832879018 209964355 641826658 446710536 446373917 728606068 350867930 629803832 770883316 391497992 713568212 848624495 534564615 796794222 218742288 129157477 712591128 511540616 867465836 985891307 862555761 895890806 476777088 915178868 841510237 549504705 921191799 263070022 631776675 961285588 100179723 134829346 535351042 554495183 191467720 833346417 323520517 575053776 166844813 512071460 203081174 872343689 679475042 155668963 187565894 115707074 513385081 126484641 368649568 423428622 987671905 701716447 793207878 110843573 618372084 349049425 293723317 306884808 374571927 520465290 465449719 345753531 267009873 623215617 635331500 356471189 896732636 444870774 978328608 581053378 666876501 529466812 482388432 845588430 140302023 124359517 573016897 838441302 128711978 788867894 288269050 551311976 454939484 898491519 345230410 307252688 684874846 561139600 248568534 902528538 752125872 786338030 381928838 271287158 479272008 456137410 529429931 452011359 769034113 453564384 816653996 514344410 772390298 634238132 295589089 722302668 882062195 410064062 180935431 823300574 296614843 619239379 540221704 320382294 777956166 904716927 990963808 691874557 390059787 112472076 199990660 405582818 651577771 839938864 675455421 811941469 858146369 814731705 747816815 597997871 871448974 359409216 897903368 426980594 617266172 737540507 137853678 888537166 772456612 787075120 848017227 158897444 680056361 822190152 795593412 746504996 958015167 308370898 419492084 582457984 983066812 530601275 195709446 520214399 516413864 605932380 297434006 266683719 579869793 341043762 582257711 326962632 203600230 480978552 149320584 924028917 292327542 766366982 989765634 845777390 426120024 281225903 251309692 723308890 463171797 448353324 350797981 732000675 895692428 188971789 454621594 357078817 196008753 496852954 824800469 175328435 877728303 890983021 571901065 380605647 831374905 564697290 211545282 899138958 526172118 359765521 205383638 373409004 788781908 408288458 426796637 892637683 145403786 903960829 340443009 346937028 244931831 228469913 208203833 157272392 807337243 671270299 179946247 544337537 605027465 661356905 316042158 354118998 606913506 165582439 361545308 189317539 245224626 273576092 515161541 704643333 224458782 859658744 840320433 584208722 619404822 369210545 747862639 497889591 651495637 233000481 989041373 629778969 618353179 645035881 511968111 757559275 858814257 609262878 525804305 706442961 227502112 984543283 499130543 544629051 297041401 448684278 530848538 521609009 849769780 300958795 626251091 643445155 885960915 262685341 858658543 700322354 244227368 507222309 122029015 729828098 837923051 151417407 123024433 319834557 884364316 513241748 334045474 856826323 863065825 942538964 528846330 971672352 830400489 492509031 284375340 833623114 395073551 149197807 928029801 886382936 252930778 682959103 526255618 989941854 584514169 690618269 207582731 982973192 877348246 633369309 487596568 599829933 762237075 538017099 568986691 289288821 993364823 416088618 542972975 648725000 983208855 152852663 299587373 898804189 371678625 766186279 321259675 184311626 733165214 638700546 833437513 160666994 111759832 280584710 200264809 437250776 325311859 360008765 675648771 533821726 990489556 580803372 158472955 809195618 926957420 332403051 432099784 522536246 271955682 925761024 338726047 489871969 790561737 204922964 516100826 840223423 304325627 189675202 956425950 508091931 750460645 626160010 189542517 299432955 510364205 526762744 933929034 787019910 386394020 136367617 886113188 478313968 136907867 471429732 412090203 885674215 385628184 659007317 133600739 936277192 353984308 306922671 450596560 793153288 197211207 474710522 807871288 617245387 187217635 628243935 551103537 654715738 669342148 849674108 680352176 752978742 718676767 372736492 873493574 145249413 505134339 558175637 232500060 439089293 409206733 721111489 816633209 915656135 567954257 363161870 309273992 589951193 770045027 243848230 650293959 883396502 289601961 299933892 919641560 522280162 501506269 262289544 657745585 479346796 610236437 580286067 611425744 298502575 264520821 463807195 770006534 395801658 855030230 263900526 213394995 787231143 111296648 891944856 551531189 883352915 143217694 968079933 426359909 358538146 478973005 617829307 974682090 160129190 195606249 491247341 896368592 169818670 523865940 113009996 616123319 627723086 482235577 779975775 675670235 177266475 881112683 328746964 149767888 714075400 701167790 901358124 761776660 185029737 361197169 476983386 167260115 587066177 689605427 676325116 876277866 145369298 638693791 444721043 629917987 380315958 280506844 629298637 443240318 645093980 808855900 617452532 472979033 700083137 244400290 341950848 826044898 490492548 327274884 714076347 656636032 487811045 258360942 947695709 844232393 717828170 857515275 279578118 856610144 826138953 758351874 678843342 462064743 764168120 294701060 696916240 332418173 759100460 627684862 589103630 555998040 288340133 584576573 608065527 122311704 595617660 780080205 440429283 431641061 116368216 129080325 191329885 682941394 211360230 823830529 682698564 845998934 437234007 471832667 103960241 761783280 922983591 924138375 408338466 927053214 846102353 565278048 620411722 234752300 778154829 427946003 717699445 956892791 704771171 902834506 143555556 577357919 649330966 593895020 288406346 816637548 111379485 315136176 779267413 447847668 614655139 424829143 632833756 449320967 604510709 985337282 774116674 430113789 580563059 593427114 235107432 274983656 614037666 724116855 395087904 692499228 348815056 204022856 241043248 857958479 525156318 715116757 726045898 848107300 818278788 808940105 312672819 602108123 415671367 324955284 411227344 818926252 237696648 796686661 297261464 661131206 816036070 659078898 936716337 615406922 325375412 680373495 481257291 464179713 408994293 609977200 389758636 274693136 551452398 307311529 120808371 650471325 887127284 895591451 602840410 308178667 911495634 831193725 114236914 439118469 276889656 714770059 666677158 394823946 217261129 499789930 432589331 501823752 645491086 168322460 537445873 939041429 139322659 411329915 512710201 853926822 828722842 561256826 415139864 194624916 789269567 169815685 642255311 832545149 724048339 398054398 792544390 660790149 856828011 123837291 258091250 419511660 191972882 432953111 199784915 317498206 478864401 953436988 851719390 934513570 210782624 687874387 882749035 122330265 818619084 261222706 742152475 292511992 722762118 491901188 745948709 709397147 363726827 476922192 450071293 854776324 205613051 815782630 379418057 383503651 946785627 204613357 602235954 128409738 546064776 660710701 236467012 382426080 790894592 617238391 975274815 210793660 926369759 224534521 864310789 863923793 245993837 699143303 569088477 322514944 553900290 733384258 190073323 744966534 938852501 281738514 355269042 550216751 983698181 358639286 390650221 278271120 779385342 626004301 849838990 374403789 369054944 166169981 345599054 890374888 412761617 869063253 207239532 974005271 286764475 148542554 223074894 364006424 580521746 970845283 108025270 492110069 916118064 898175104 886334147 784807749 516220161 568906010 418698404 872231588 344228388 797801591 695816538 418556700 769876483 791141763 948090444 477257043 570284356 647826961 781806881 516146930 272713687 839943634 309969122 727880416 523962771 436067959 819094450 839683302 994624377 354373523 624596870 567291637 511120535 990696725 841079828 534114478 836488959 701134425 504065220 467111576 750275616 487433882 274015698 654016553 910989394 153766767 498799136 171030053 303572041 449475146 619070790 921568405 925226476 147130470 600786988 168905271 154092378 591793544 330429025 506160755 849152118 615873175 976568829 877301653 118985144 865033686 811953422 326315891 176889331 423725751 458311604 739848830 341219022 932300944 762174868 509572120 842021389 773297760 463482167 475859946 975133024 309035615 234603964 900173635 811820138 382778366 468082650 787437145 568592931 851071673 228377322 613466376 682713184 325683378 278678837 717992200 229426576 633513262 540281328 904277185 432183599 334370910 954219992 231754441 190593088 294692309 438109736 377646844 649795878 780288001 584852674 743724943 912911482 658414966 358380543 168960079 183568922 529248374 550055279 775730048 871524498 566076291 415632404 305120952 811569837 106359009 547848299 216181576 564296329 248473562 102265551 226089812 779200910 382613463 935115571 972715530 377329497 701194189 256386849 336644034 138474546 869100252 107356905 280622769 722969044 745969284 587559700 107590966 653332675 639207264 758222377 194925773 169223228 175385208 870769712 796744236 719316793 972026586 321104533 380688704 396504007 239937852 633962246 498976804 948934972 187318362 850858228 613069579 184692630 794181931 470165429 780790225 301899616 427686310 888247159 452001443 711522723 392170781 929877941 394341616 322196087 282750577 742545087 544297696 577009369 611465524 962064483 401354646 549466541 731461033 874148904 152416855 363554539 310103119 691436328 352509058 987149361 462878594 212637827 306030310 330434052 756067750 516660560 892492945 210405518 867491513 637047132 334030865 537780394 739989828 857985453 905766631 908814848 950387253 437068559 975160246 897530298 395868340 743132577 526625967 772619240 782075153 857032178 779725889 925251237 195074878 110242750 429871304 776874396 802979493 972780639 495847026 244771448 987858093 878143615 538058179 407221624 737687251 719313958 204284889 531018087 694260903 828401092 196837537 901045874 226052445 882407904 504680855 517852026 760986589 788780088 459476500 231375960 338608823 167356208 284062990 376883616 761733414 351209219 282034957 216488258 328138778 438457221 174618048 883543626 741188592 214700667 729156994 620098064 549316524 323267952 982974922 202704899 308119310 873078540 523872161 248485102 352585007 565906962 377461495 380015004 875518058 356994600 109445857 476863447 294921368 896086783 864428094 439404903 567090908 794043363 500111478 720082179 255475813 630909125 355701341 298402224 911253327 809309066 567866511 951473194 753094949 319640680 929014102 843754226 749908360 407846984 413027451 590037249 198505041 509721017 279323187 591322386 456185234 996876739 393633515 514473087 236380068 157317649 564484524 887790031 334201121 642404889 239694045 236252119 395098826 813528662 654965255 905775404 784287302 823481203 730922396 428881180 948386120 489245586 730474926 754169109 767107567 414360753 217354760 469715788 401359690 318663302 832314633 775114407 425295937 576505538 567732002 196194351 782724255 482553722 980577224 762546548 379418902 769840692 309495924 907376570 932694100 999555971 213800004 866398740 613119386 883051643 461678226 731550990 499784386 336705962 225090736 598784618 288917679 823304390 215139517 379006052 320605125 330304235 572342551 638794121 334906268 757120920 463670217 378697382 983354851 968228261 319881053 484077553 486730488 454327023 375112420 219430199 328191389 368469348 208707930 771278399 399058035 507454795 865249120 373387906 177112197 995893893 319429693 409748799 571161117 470353016 263825153 876073913 174340237 757812649 368240784 938596846 672053303 746224672 621372856 413388238 550105603 429375004 714277440 399870454 700088822 268019084 527877805 924031850 500730793 479163913 175794879 915839924 247762280 236976270 716672299 734577798 232844273 308778653 200433919 355506453 196211969 974793594 426270841 680079980 830548936 930339005 905259067 107282167 238726727 686511651 620644787 237065415 142494647 604505999 550584624 146155132 834596829 612896263 401447208 266924790 485065657 756871923 342492153 123874882 502657099 689571779 430160942 158142234 964236632 240958518 637117661 914563731 189180080 405101814 330157019 929546891 288823438 388184568 591689030 614220072 292779386 431002951 401662499 272389913 152823674 731692756 649510123 369103436 581285841 607856692 733243153 681031010 512599791 671040415 901271904 248000894 296121097 300085261 257925563 421499653 692230661 324077634 741429937 997176679 708125032 873110377 695346196 903039608 536305558 152654639 374926911 778810560 727073192 942868256 518191874 227880941 798740398 242652428 126149282 219814945 603128682 795269313 161732334 639269304 961277773 826181165 577800604 478537586 800377689 155035595 606723090 199271411 468948589 213997176 205531073 552864899 337831202 452290647 182397332 917489601 365464677 265419032 527142996 798749500 381772817 206990520 634019153 919719376 112644194 699670370 217784934 680621229 328173289 790461783 995559890 365085367 901321145 535441853 462813385 293190636 553070338 807397419 688207890 197613138 352390566 619217172 177027239 669968413 889638275 844379710 755703995 952283840 995159466 942818300 888885552 653732227 350179664 446410977 224639065 101912283 164893715 257112373 490506049 477447935 705321559 525879181 862777281 564313321 335779529 880810882 761616569 354659755 319044889 482294647 497120541 451944982 691798450 799381377 935028750 585539000 638653939 205072421 650937007 384818789 693099175 145115683 595460834 348091294 188747371 570047996 276817149 398987525 759348303 934401913 759973832 766162147 414839280 508359148 694725293 356285537 935475181 936012051 962016692 583208082 171733490 534420648 864770206 698091305 784500248 458497576 183137753 890279166 213546416 196653401 539662509 341376961 320866336 875748317 475170585 746697166 597680181 727026078 607654192 355939714 469018703 795008194 691904602 929908407 656332095 289978653 136103313 313858221 545428201 770424360 467621842 913182772 348701657 579344201 314714879 445196794 470613084 413872949 163589509 266728386 160822067 355951604 548835205 176073925 857580611 293218533 435779769 805529708 480970753 736542068 896345656 842629924 412203882 351521010 371306245 618160845 600342820 165241411 995901557 366503683 713565826 629714168 623408676 611704494 576048391 403634439 414664377 163166840 465827167 387056175 585064768 521366463 766815017 201229040 590913686 589160933 686807180 882050170 337518465 448289441 764982018 172938789 787798594 556813249 100584836 229191265 917987160 571877773 653818886 600936744 107071202 581145975 318857867 700695885 828166687 979002498 521298205 596893037 708953261 467927251 784825105 315035321 594568522 393329746 418511441 522643870 491795090 269540401 614738990 221242232 576894580 934198838 602676298 513324408 768482896 809133915 846760221 218677887 358170388 446352614 804398766 490588144 993003639 143121479 313267394 509340442 925939320 532978216 893363941 254191429 320842978 804280823 938764855 922152179 103341037 149284683 937505974 551909310 262439273 640986601 646313494 960706802 412023680 302416481 865831058 100137539 175529800 916913147 539405064 643041672 379161170 765838522 514496267 992099376 117861407 616057981 344404574 939892722 580861605 157589229 971755147 975905890 310884556 375735193 595928854 803858417 797518368 113100601 565263303 264723502 203219314 660469830 222323174 200514348 179292981 457314167 712415049 602384852 913670542 780181926 276418831 113623548 778075726 405212423 750139441 120984800 374767686 743414988 653662872 450355833 872907745 829298556 633705292 729444186 279669639 115293144 321846316 354339114 677938955 334733983 847850556 796648018 794850802 512049161 400215592 166982234 854091690 708584586 550985493 521599187 820520381 232829505 836630819 746262442 655667403 970688390 649442436 952714457 709394293 974236907 312491119 863690481 620301310 906169172 619057997 772764305 329324532 945171940 745701311 549542681 708787624 554027146 175078789 438127334 238043355 462180428 333089593 543871140 575162726 568961530 642467458 631743767 540501059 991194431 299751454 797392101 633235200 272519341 321597549 461310829 652342476 499196085 804982699 728244220 520728768 899258285 565458810 417204177 700287641 203779139 590838531 385695528 951266406 637018586 521420898 437170571 688621224 809794496 439981054 747647837 907988096 458649718 286682731 397613422 277681741 967506923 675815167 411657777 641866092 409163729 601828357 679431401 265993108 137187395 583175379 814432427 463235364 668645924 243494084 856858833 758039115 943415421 194629804 977779520 112964766 367659709 912694335 702911858 928573619 561009849 808919564 648266791 699885246 662334446 264839756 795711028 730642349 606513115 872803752 388658192 645102494 529949252 784408161 566058613 947040627 924874334 824028061 118882541 551962836 308824269 498018524 288770769 941523099 714234208 924231148 439134039 517961948 839557039 835957037 861795133 198420797 564462136 606372765 148263098 467353418 562704594 569455523 591561334 159586902 934218465 573384470 947938537 292129904 679704109 988127427 360723983 552763496 246299786 510333050 847596300 216942236 636240214 409283332 591907969 737057444 826266637 623613663 596234121 101563636 543382467 941868001 935145245 385363368 908902107 776373407 907840557 225557577 666063462 125135280 162166795 970430884 593686260 426970723 865186786 926925630 113748647 608716839 647367913 795870413 961967574 380282415 365837249 512219204 204853515 286214863 722540117 574051182 970610995 974265570 311730165 947453532 913348515 449101608 628303521 370397105 237568597 748860612 596423370 841648354 985829475 344483695 363228555 793980838 893431630 200094048 419374055 796878291 215362225 178456299 768651538 768393093 111710277 929336813 559959586 687488190 258001507 520509211 717653930 948138265 511304541 699206920 303433054 404140245 735098821 839020469 229155421 165209947 683393117 604681032 472000958 702928254 688726736 908550838 317853205 176157514 431952077 749813860 501786520 887826314 841420005 361237337 491296432 966002486 785235011 870306160 407077113 601764744 783592176 842403705 221351355 624682258 381698804 882981066 892168009 682950265 366194135 604281056 900719436 413653028 400848638 761421605 158292090 959756787 953848424 874694442 771430168 354897280 475214677 871434421 688778208 826541667 564297121 737784545 404572101 547202586 957565184 877758321 920591381 671336091 616268524 898732485 495575799 889351818 447238208 313276017 832825973 354316582 611905196 274429034 417658207 309609917 891814998 446197927 716679305 867727404 385098288 391151788 172551227 615872528 345885588 725794479 194994231 140582496 124439544 476657509 880952381 860301676 328187464 517930957 159396087 542346034 941825672 621141102 555849505 845489610 703037939 767965143 671080328 358968430 336359530 236686328 478272035 898817045 695165174 663634372 142777645 579796644 500522351 271152900 202275475 544955782 236118267 476846761 313549644 866158968 583536226 470248228 619171068 753858436 829329147 376462698 792432992 375975335 681998903 492075823 832398932 407327140 990542462 578438756 884154297 555372717 537131787 431278140 892961100 763083370 626625739 884576315 760500765 132652388 972668471 473366534 543880360 595584913 426253003 912435002 910716900 920429007 521281272 823258849 494086673 770602927 362826921 351075182 896628331 160562053 489918413 621583749 472143073 616658785 210927744 561634414 898379056 984426830 827773669 634236539 802354742 402706210 417587160 109763773 139863560 707821029 502371020 389631602 303541111 121445810 333183494 712795925 802580853 897297871 766037571 574704026 251966499 860637220 572349558 582058741 876459133 337492493 488777251 781105014 935873519 716751507 324383464 107706327 415212407 297872301 973245659 510088123 563118665 613280516 954138534 791494402 603114551 817309486 989378759 371523266 613830856 864794161 681860643 345823327 354310039 443266698 835413443 827099226 929805738 866116685 857758157 845303840 552273109 499326476 213029338 324841052 353745834 205073573 412739244 271821422 108316663 245872965 674348318 611335129 817237026 370492379 120184348 807811443 246844985 667367406 173565584 629252843 211383852 863525678 532702571 191378746 736708273 827996478 902980959 619239057 216108821 778542442 891143311 302568199 105367908 774600901 498210226 491771153 481749067 234269179 252757593 543599271 740614966 649243098 822935445 521050245 753382323 856152332 981845667 273275578 509239951 883287776 660191962 450169331 699263587 606547115 123628398 546970363 890229528 279069206 678388025 276342137 299579046 328125955 249414829 666590173 360928901 505097943 954332215 250282913 110278728 377707096 574453672 424913097 618729808 937801557 231711806 962073736 293673299 225513047 938641451 384059691 529516798 423568276 945291313 838746716 354517483 340497098 462167236 443200812 587665314 473131578 665912636 260320909 629273184 472901756 415967012 302131855 712528709 736784390 518475297 660653354 532672559 456444561 587192490 980401427 868951973 387298902 727429778 810138234 549186402 260843860 376967260 139611867 503908264 327597241 588127187 947805931 266107691 587133656 649738820 723833648 877679327 658589882 755842947 807106569 833721595 280681646 968323396 782229588 656639258 457544405 489023678 692514977 532826964 381890577 637182949 517924119 794433565 624443928 364386392 673972682 631150986 596109121 523177938 435422214 768263591 899169868 235476581 218951061 249077899 829852161 676040685 589957504 840084427 260748746 968659627 930099978 207072104 339500812 448458074 708165352 635360784 795906088 722071198 107916614 143218462 628513075 814170437 295681003 817031051 556896725 752122705 921247061 930521258 504668606 475311451 948254341 166574247 912709947 339032094 784698121 682833516 781472003 114612453 182707591 972814934 678516767 854203154 897730828 644133971 683386505 534040280 714941297 951906119 314582928 596679826 919500042 718247720 611381771 486521844 597662625 538328450 180950230 108079444 432310225 314799584 795239516 193500881 992059205 371880486 149867680 335117096 838381263 543161132 291334261 995989110 715086242 361952334 742250024 496320740 959417074 397428577 908563102 454221629 799038352 353286592 816511265 282191898 639811766 138004269 632509226 850458025 836839247 669513590 636758893 347312902 645916067 271930582 343411374 702128760 147021065 234594175 413151804 909383109 378544090 685875138 164618021 899335638 818629722 892658564 932966230 403071269 834392075 872697959 260161672 829060429 694043908 404287460 826048132 161226092 854927170 680784823 812273602 727631652 570568490 561002493 475686499 763445479 522999337 118015570 919805123 511261032 441460602 757761577 162876800 771043385 196222181 490005667 931454571 691474410 569747178 983623350 302581600 904061322 651559591 242141019 557664727 387587119 349940073 605454832 619069190 512159851 681272181 671049301 143923779 291851163 849904432 976883775 652764644 223386842 283915783 598567307 826171835 668501734 753339641 867418372 598974754 394784421 298854159 798905354 833669778 835618799 936836341 701827642 267135732 637518766 739146652 238818989 954074567 706125513 745961165 512814365 378454651 913474421 290300734 889545786 105597513 459248228 591190779 475319007 268428124 752967792 446228703 165579296 993006163 243895954 132874831 612289745 633343079 302687271 174678872 977332843 115231679 661799372 875600494 852799648 543329161 372442925 426951910 759377335 723850870 572478342 452029322 932174549 549899137 175461293 433119342 238742368 267154485 313898622 367632479 886817272 893170515 462683388 892594223 904392961 920650326 819391149 971845276 979888688 730846319 322062913 752701148 877373697 571009389 802662411 924589899 205094279 707245508 542973395 303801405 832461945 567722823 395155309 561770269 979179128 283402538 966698934 333488404 328514784 547937730 560759881 713462829 159433991 445334244 318578090 596104751 998323847 318371782 828096325 761507219 575259519 437849393 799570664 826378408 349026959 391477403 534902412 945508382 144117668 694834356 526348900 468644106 223818727 193315807 661323371 118692531 687982281 473156026 416666035 206965176 829511996 786753715 702068160 812760573 495581258 698290361 347409163 135846323 671452650 979593116 394796679 791748534 833246032 903537456 108178073 379083697 583617550 329327161 384415460 191213522 676026884 975382120 544702178 602379564 457414566 367635593 182188961 583705925 390606155 896377888 311573102 926740684 662773471 506290484 557701949 809852277 531629899 675704421 291707451 794800318 302475442 199636314 603929135 194254685 206097885 866186623 397810353 748879699 117448760 544520751 773113837 254187299 118784264 327557612 460494643 501477648 534432481 999973218 205105517 912453587 302830175 172504644 207866847 543608419 588772618 959414102 390802948 678724824 762376196 249377070 279262936 328804367 219822630 274214837 461053535 487783320 496695304 485652314 990665464 878042230 687558254 808509105 610183826 834885681 110740438 656697392 956179587 193997513 995579478 180116773 376431514 206906613 394586239 981169822 492007087 620402445 709754505 562941648 723932809 965624892 834639008 457018450 678911742 576475721 314683460 164096296 135215746 947319498 885314072 244810164 416316517 338675660 838923376 660553693 169922303 789483038 697382184 340583019 371522524 118573767 287277438 735643860 884283128 188112275 635137460 495782627 946675914 337971025 953020353 385823348 275485653 896831762 492583561 226454881 852268542 626692259 723781369 164501333 530933165 524536134 441893676 688279632 594683262 368241349 431746796 390611320 723228778 974161258 915101307 552208006 416215169 293517045 354992956 860794180 595779842 745787802 588708961 478621372 579155778 339330755 642243280 917418299 935134254 819677401 515509888 396856585 409064669 567198129 373043630 332536485 464961054 438659467 188856984 159820107 783478095 328922121 364486179 778180008 405403992 583138137 572937223 984975345 681583342 941543449 992051906 573035759 722305628 353331116 111196269 527232087 504216177 462804581 158244276 790179324 866216154 377844828 970587002 752283555 891077631 945527526 916462736 253938046 307355561 370563390 434334949 634918746 262003266 254418679 834365548 648118893 282942987 946514426 666990980 927792392 293157841 725924349 173203505 377992233 143934609 829857727 496572088 426882582 549606387 801623456 381314249 333179976 931479497 383687518 608378817 709164212 173589320 654840140 135297387 359613785 424114164 716028276 639991562 484175841 861121088 981772858 851021146 321460881 527092648 200023000 722532911 739115588 777392749 578347178 606566253 726358465 506091065 234631727 945299793 777556466 864554588 654917003 186016405 925821369 793567791 325724867 579523643 210305845 601643470 203707800 457906113 631545408 595730171 977557120 267822158 238367104 691242444 570245972 798537323 915800695 157060611 505007592 654636258 556924905 139848731 363682090 612935250 409849805 779276107 296151926 632450432 352642473 386478824 423369861 311049524 629227490 369482091 561541325 302718873 134881784 325629755 714393022 201587610 895269804 677308974 130354803 611546849 554206725 894805521 677710212 128235334 193452499 428643505 466974519 481191630 731681164 617539461 180777851 733159989 482439861 725082535 826364279 247023042 104971922 216535360 712540284 978110810 955122225 540305456 766746087 707389748 163348648 851813650 427138371 757911632 726607230 724433449 119625842 287600142 570546787 560269262 617133647 372238870 990831647 227036711 810249605 749414739 406453636 796273513 602791194 977183376 257135483 526828338 290081741 891505082 686349442 407663035 712215796 217944694 846825521 110348437 528221627 117597892 738209506 843517298 774384542 362477392 921634038 311117181 292427750 611092519 149603526 616477778 356655255 259470166 967814860 431501622 136065349 817462043 153385542 687438098 772124267 483370612 106257971 224649058 815267066 484716596 944350730 214142349 619513235 259735668 222517971 280442016 340755457 608605651 571570471 463063843 445524285 552326395 277421590 886592355 742640850 253472445 607643806 178052615 467107578 289358141 602619244 356923093 561539993 800719921 842553677 334449822 721825716 280368160 347326918 187119193 384961173 218731303 159229602 110284964 962425714 922654354 881472588 759787867 467814207 708260437 823379676 326461373 782077043 290334400 561282758 611913909 896701539 728580810 780271851 894013898 763179149 249735861 743916994 189483011 921579163 290650126 825729135 710118143 149571576 407274019 539134432 171956998 486347717 188508322 253535692 597353434 803141229 393660390 843389740 791579227 375305710 601607954 331392895 879849972 493218855 319592390 760865685 369452197 629855741 583962500 867011290 275319949 616811250 841324653 718058014 200676518 962488505 205285942 639739669 789347064 196426997 742922746 317229837 713569743 465828472 908856359 491414843 575332308 987955728 912436415 534148692 307490519 217167226 395845036 491790201 731677142 818759893 105551691 522378313 950649963 437242941 347861724 702827156 844314163 191847731 505347590 658676102 583711810 782657096 479083943 744110312 470182238 473531906 576831724 983758629 857769237 528487055 799497287 350243336 392110387 907952362 200343755 318907276 496314407 529592084 137375966 248431022 439659172 505138931 708257585 158042795 787646678 546219996 598025078 975166703 646717602 473632963 261532341 641552292 342013417 177322890 868752515 270545827 259233109 680021333 499327575 568559603 285748613 147421035 642740900 835053845 503983850 893105862 966312969 576962286 641773894 445711100 794895295 713006241 422753664 690909398 577997489 677009111 860340626 678482816 191221048 249361302 949923059 506793005 620277127 266449485 709698157 746305365 391252001 839614787 962174357 473525557 570214232 234129379 145666504 198883512 953001478 715290091 411319769 836907113 434220149 182620704 791985111 595677649 176893060 699659688 676837253 237367408 172102713 595464514 499019556 112888810 149518893 613208488 291042345 388025201 808210466 838095896 210608391 469792939 423387957 435844448 664484730 551237456 999560174 379680850 273968790 151035495 925232835 933374379 672562304 413352873 662351060 200917167 689060725 889052487 857000124 654003092 559136905 171021628 896339915 611361623 486739451 569987604 133999460 762040121 427905116 373611045 529204325 925610650 774957827 269157224 327368194 242257473 606401475 883981126 665213679 577605995 683535141 605322750 573422919 809364633 673124330 180613792 211111174 222365080 970393003 175829713 664328992 266082226 855060454 368478041 891067707 342069094 723173411 320963582 113558253 496807497 132095767 797818207 142638630 874032891 102194925 967614888 794686839 416193047 491299889 395001040 936606252 411937581 150498031 563141122 189820509 545215454 424744395 455007950 749669874 283111403 128902360 777291950 769660554 458304455 881278829 539997203 328059970 858765988 828192979 169888408 562676726 161854289 913541533 156352918 640338274 974261688 715632184 417392330 645592617 696302364 242695610 390101033 958141982 871418951 554717220 319119855 748228282 916615232 551854157 226313670 243451922 453567656 332073573 876783658 309910797 387136903 710670906 578324322 499416978 394245586 689039512 804449779 662799290 872471670 450402358 412418395 200400310 331147485 142408520 301375455 337394548 942414550 942094196 281799891 386619192 946556357 520855498 856880109 239967324 256766954 207136533 587174924 516213517 208165560 135008598 693305163 909995395 580258030 167618514 774820452 605426355 590129693 136741110 421319608 525994384 541780105 326102101 808784080 340070487 272590628 450642737 783957988 556519841 951771844 253895795 670623150 750936161 259442239 469744307 839186921 378273273 529197562 499778829 434042247 421609914 974452606 733112348 464121921 479755195 441387142 356880926 500866508 410523436 779060018 976284501 100843770 970441699 338552799 778900347 515308298 782390378 877720536 868931356 402276425 373737983 650048335 453151879 209969245 233327241 204998877 663666472 195221698 310299840 268522568 604473650 339594333 496408621 343558254 704615529 846177104 673804291 651004451 518556132 931305362 735458701 803994417 759900616 978153562 379771108 131950124 357574541 306604256 344374928 963862537 287070551 746052055 232765318 621203368 875184570 796740497 196871484 598654304 463580252 882816124 802110341 891238883 734562141 277362593 909548503 294053909 647436063 527893542 157056693 752152819 424004564 748354371 765962899 884573912 993176006 312096489 933083962 439205589 293500331 661791150 608243412 304302234 101920094 876367130 724417411 889914760 876016788 876820332 179171863 950159891 439899351 335014082 723140006 885336633 187189078 935240140 494396410 689321836 163864949 223175928 485530962 507343336 766865062 492965537 827438677 151068171 582825470 474100892 809757941 728142378 742715466 746843471 625143991 109017067 972005178 133048110 808962690 188285185 209056492 936529987 100459287 119752297 506033318 571529589 238974728 313681587 852778140 817597835 711801353 134266413 710624454 580458232 421477736 684429123 701617940 312175685 130855519 342939632 651666325 829172999 705473298 173400208 391749198 719823710 425543275 396320578 931183256 825523784 525154368 456128042 913444889 814341003 601839976 706719776 433097201 994532736 577960731 382769908 995111180 732804000 938536647 858410654 118478160 177531631 214533761 971625226 295065525 728596602 893184640 653303281 935615065 380570232 617989940 531410643 248533378 987142912 702747988 888342692 700229690 378568816 737819692 600640268 919457018 920948790 985596576 569886268 169080059 648954805 683272756 112361518 565486804 304679650 264479972 724935388 823638223 378640828 139357942 579206772 934250079 982006271 744512156 428970687 487869968 403879871 865174519 671809804 421444291 632155049 668284131 363269385 201707139 478216893 564645013 243229775 848018446 760324303 839063640 131347896 671407256 336126865 957491536 302655455 187383472 499176809 181404937 843146315 783545267 206049787 967922507 821677592 388825470 122145823 749299704 450210800 806830252 730474130 133924538 758648953 542410853 864805477 451342504 383396911 147490734 278345666 819558053 105554369 266981332 817590502 591229432 579858086 618698579 181395778 946392760 148491390 610574959 726494557 289877144 521803993 128379041 936673496 426077335 702369402 286401169 885090849 545595225 371881373 364339154 388899718 857108050 551162061 554918798 831197540 832403012 817901435 152434907 345065373 797250452 409053950 959519644 295621051 489316173 660568991 568566135 971823278 444742777 186044745 302028724 982129236 132237062 883869080 298171718 998081004 741780654 371173105 327618688 275633520 258982678 448933037 529396103 441137177 636121652 430719657 668041363 481093672 121346795 200363282 808002996 996199683 293674684 123005954 234761442 357173507 723606203 710713213 192257823 953648825 722449577 890350688 682922403 528033941 784747374 382225675 294767430 178645926 356019578 316548376 328544810 690572301 897978352 448447536 518808825 518132017 721338377 560132171 750678743 932913854 671398595 295727894 646710054 155390331 701457753 326827749 676779508 797066373 152071125 241458514 633558299 856415086 963209766 445161951 821066699 977860041 218493906 933831166 650234895 799965332 477974874 296090562 153600664 299891515 424964385 724365820 243790866 153299529 993201457 570646888 127474457 595493445 970712988 161660217 811445984 402845954 614851082 569023215 246638096 113881805 958148735 825218671 665564125 703627558 864670278 687867546 893212338 112242556 726035706 201313675 586237343 202572922 377290575 794037545 412211690 936778318 415907228 923390506 696291558 722739232 318234898 841831018 839305749 985786413 961798353 771790673 529257528 339484692 267406731 610080530 301636207 382868901 828875225 827907328 306945389 614371528 237639410 480076810 440941955 211713748 259043781 365903677 924330826 822564921 221485579 558071905 558785945 515932584 170449767 687532543 462642764 517144623 785147656 130831166 676429760 773131680 106737006 917680622 346545504 557087632 664468519 639156246 218211410 424891882 590153600 860094679 523289000 457786176 120520937 181631311 646972110 947551184 896038579 478763132 825131257 944838800 459260923 635494390 462199668 255780980 792963179 694139563 964522410 821929891 870981668 561496101 216842245 985688380 574788905 529413304 865240156 853971058 170072256 822831499 309281755 530585691 507771235 220628790 294136278 402730428 426197200 903713087 411203437 860811426 338143032 877731580 509503855 665347272 808687359 171244314 871749192 174754662 707644330 540689398 903623207 414652614 541538183 271112032 964905353 710887725 404956741 141881454 818708949 666779581 156813189 617112774 258739540 562953742 356794175 218699092 166277361 414142748 699102581 505741892 915001019 972205872 210192269 564267716 906593050 814068717 539409555 949931454 205564778 660699084 342322146 429287084 854567289 137452739 975263282 802279894 887328645 891076613 277665803 178148425 822303815 340415121 857167869 157652351 517137858 302856914 813245520 179374731 475799190 775542599 882309485 183784465 927091390 230112465 104158726 994959880 660739522 915781266 805302337 605823225 508775306 557912002 823352123 947251389 783962501 332458758 237684924 172059650 462688027 731280393 831208972 229354032 738377803 487748094 190476240 194257586 418331728 600458489 457625614 901822244 858363728 487767916 950918168 283276139 423651599 491735181 461610916 813899482 135695629 930786379 904265850 368007932 356770323 204733013 304412295 688841636 372787048 784379828 525878204 985979265 687936755 824316493 386508173 167446203 104323805 916907040 503749211 767914585 470481328 859871739 409229780 834198763 777114378 609229715 546945617 945643901 566288155 189766668 227276017 784902057 957120813 425022116 951215536 222709882 962112434 860538458 874217685 625329920 387396899 925643645 275853166 233545108 579453998 505475579 969040986 148071669 475182186 544869709 587859084 660046212 124699098 633621063 288581125 720601710 532128481 648513800 129437525 841131410 830290140 568181305 310918918 445214087 361087817 337951112 642461113 450665406 745225409 801068435 679834666 657373072 246478571 899945123 981030790 809561829 617960789 842334165 156011116 171678475 446996194 162736169 818696523 855540711 892741046 340562308 976562409 503880074 941028501 382126845 297290901 941411331 339591971 831045193 980440245 734602702 424135003 852224948 261270480 670509695 705728218 705087978 909581271 466057110 561034559 620887323 460095367 194993523 105754111 116976999 381275520 441040230 669528113 954701998 381525048 402147184 571085700 980224827 768684790 524912033 844227537 290114290 520437763 106667076 495752755 970998312 870673796 485494019 880750593 488736524 281030479 878807850 218636081 599736382 985795906 447516053 930806146 193267623 821967431 863113423 165879574 294476282 154219985 704982306 563102068 540922359 900870029 754853277 137346887 274692788 869897556 554509418 389370666 418796030 374634530 799292537 399400307 510654126 131118133 887740700 385998908 818923789 193696142 548873571 735541351 768898605 824054009 765079435 767958135 439898372 245722393 813069839 636595314 122966692 566166155 237938274 293713533 557703434 188933651 406187473 279357970 467023382 277528587 780252236 272635136 484564038 526902444 314788298 864461779 104715635 478548503 225678687 177195936 525696207 406716187 772002769 272373164 545472993 130942042 616465055 564507976 536134448 351322417 112511990 129834102 167998709 256641826 546545793 589800074 289098519 328565515 494264754 665595348 529101731 328843490 569415113 752641730 338995737 785065692 589226108 675662367 844621491 904037858 807970574 222540508 963033729 124563874 953537734 865112400 835567042 776094086 861489188 777129232 887846734 703972374 179204846 998502860 681591670 863879800 576644775 737176920 281225345 890278794 576005584 139061161 950719907 767263917 294583586 565388855 711333905 141727587 223964695 960116589 991207700 771688876 669782776 466588668 856448689 477482769 186674679 627382509 118552343 304337721 508287093 481860263 151954609 997294801 698419349 573334028 352510931 600050527 677233915 502419805 418430330 936177389 730974590 403154334 616786694 119019874 265935399 285835966 315163764 589682809 449344376 597531760 413102807 277606103 418929587 198189960 499814584 920870239 272965232 489486947 863572616 395287525 302241462 962837337 850077283 363444811 930957987 559932440 439643083 734334889 780027135 751761526 266699075 514840407 918675695 976394666 527051762 296597872 202976903 669203768 633055917 585675015 955538654 519340495 317488240 274994065 803547631 915366407 851521507 476743659 791440658 711808707 569034597 547572892 566459657 628122047 435186387 118678405 966976537 216714091 877704964 166156005 157928502 784989091 246689273 992036874 711483980 479119595 697752732 745124911 797092659 297432068 928725033 242546890 577582217 307636212 324071846 731926849 904360007 408795808 564255680 853326811 460200747 516913672 515969051 547770710 915937750 651238688 720427494 851058355 335112701 618724898 658290926 528454900 581326491 787291050 580649388 323855356 761280005 962595864 695234913 472604187 669663612 145294125 461519635 860800668 914677223 932289113 288160509 563856609 844613273 244443867 186636500 126428346 329975357 630391887 919166470 615474585 699517675 910208997 852285322 442338865 343210576 171911495 678598053 383807659 396350338 477050211 153806751 987867574 106292911 143011507 321774018 297402159 251715675 282663195 614028322 814989227 536832029 243745908 400999789 758010926 259833070 256009853 173968302 619492755 496112441 846709977 735969933 333445743 102882778 809362953 378187015 688944199 791656274 937404562 677528439 243148629 593607400 822112606 190756261 455432293 160719585 274778830 523583458 551419341 907912009 209604896 777199020 879418181 969287915 649581745 336430683 253994829 257361957 486471321 778986256 322208642 966527149 572430097 571290711 719469815 514475953 320274879 540623918 646838186 643949240 513692001 747184591 474707508 522017875 597995025 139356998 878667624 911851737 955433209 255680501 249609563 170835158 359469481 604211813 247110913 271716078 809677615 275666587 909652382 381154385 720442045 471570484 566630050 422913884 657138166 989432982 634376054 489812913 839252102 402492328 661742531 471858146 261628503 475206982 448721807 265339385 366924175 183076120 948859353 667432552 344679340 880653875 103665080 578597568 341671937 101079801 110942522 331085761 346521342 559808484 674258317 971242476 202454559 539207977 757052715 920892509 841668092 898252360 188396846 718126562 254637143 514849173 286465101 293418272 449002086 266307436 443242596 268067965 413635187 980416824 303913466 433756001 291798562 149354277 234928848 811778745 568844738 611920743 829101792 285474011 618630144 810315428 826184214 280858933 694132230 662039076 254720900 500821243 793336483 906347055 912755420 158762204 304645788 581788199 920080587 268065087 793019457 996251488 722174571 708409836 931721665 653201758 696103675 873537797 720569208 919066594 483396324 770194371 848465125 139726723 759728195 534786454 486283466 505957045 944466122 169651882 927772816 487806438 445210813 349959405 287117637 338138890 395495356 602439807 945871837 757288829 411263724 196271319 872298623 595408288 867869351 484646954 297040850 453819560 953780664 211932765 915963364 436578083 731142051 620724611 143335466 377478568 277526682 361014247 640754235 983879421 428618092 260343217 467727526 634065919 934405413 877979287 219168034 274064968 588746164 609927405 888239814 986031882 614945770 942598595 329020526 545372325 133553118 705207766 609872355 975362614 218097637 101339873 244745078 985344287 244649061 241886122 746533023 540460827 456076751 647540362 836015293 945650781 865615987 799369505 967115932 889025311 449626881 689643196 146492466 424571301 272371360 676057872 996460493 154128319 846423701 986110489 102676504 501671925 553788230 221906528 604001179 431970855 325676135 430550946 201079722 896098451 508273451 753430889 199627776 579146707 928261703 760237946 891881887 194382062 792727192 867797063 489292751 121919284 903414339 325812615 432665631 835801745 133415470 450549692 300546295 942754905 324021628 607369481 403503573 391117211 460568823 291719163 429963833 673176518 635992383 781768469 901896600 111870067 882874460 188836288 140567304 664317322 421282490 242716120 211822534 524848754 580318789 172608004 245534992 235422404 133438080 101201050 834039829 186476980 967358755 434597663 509709918 364511055 248812435 280314233 295832737 724093786 929737626 555765853 474923014 419402452 731895762 863437953 422881779 282293623 341656730 144685359 768713510 740934531 294578456 623407611 425260118 299770059 275382162 126970175 801061215 327176874 242593641 898886254 696197909 989276976 883453986 279561976 303851962 639563018 774820420 229409689 916137049 463615793 418038122 669266626 804925824 964240603 292361592 804074087 668228265 863129863 201159675 864369985 207476215 120293744 573738111 954629030 184426192 550821883 458351897 473720302 636679658 783292954 864528481 822058134 913418033 908676527 830041656 992144449 694754787 721486417 497982621 628934747 783122854 409280085 237072592 879044051 985504672 889370601 669325958 965311667 595737697 752837051 878155784 584017837 668246835 863366781 154670809 384367477 602455092 145576814 372635325 426852157 747119765 525504811 535933142 176464710 159252506 404590238 915810603 807841994 945488202 510263401 702390476 435273591 121913621 281866299 564365006 926314425 610317275 367287130 874433550 471409601 197084823 362999064 132983597 489031163 331960241 290707824 841724517 648843897 204772309 667937384 677224446 357393057 877067878 827179450 743417002 553182000 683976034 109497502 579304526 464724042 512198720 366158420 167802595 666045097 285453795 390990348 268095042 608266623 883863572 750606092 167839269 692033534 582585471 206049458 100833581 213516804 856044622 166245176 538760207 665633067 340545160 860738224 757197701 233788973 181892118 776396425 364777458 652945658 111836940 219759542 234143602 559886532 800745063 176872608 329083181 226635216 615500975 629797335 267761836 300257886 243890451 448425859 828333420 455558649 592106168 774285074 213847200 736360410 271530366 552930484 831837772 115335804 244164017 393736231 415490491 329014922 707869395 605852331 329870731 653373849 467177150 548307083 321154685 760359647 226340049 348633702 110879199 959434911 556619374 115872115 990738270 370895726 354102029 809076212 817705995 765878704 873973675 442239345 320336522 736465144 445808614 869366088 984497406 273480741 422156163 670158037 605528650 784643724 262249461 202060620 199487703 632572653 966623275 341946661 599713017 980518365 864327676 926055194 432702578 250214262 226932646 863800531 394152949 435632535 672030308 504965620 431090438 245178849 503295001 852729459 810713442 541153839 550646950 374547449 546434781 806945246 866717628 331121688 572500315 317606988 192279373 819431738 902164241 243669838 154545770 141458687 328489297 962444544 668737604 883952479 951494095 396765012 799121946 515665143 776078055 946235050 230477473 619636650 426126407 131816384 828669837 155661187 179448130 129079768 362554598 100053182 157367955 609687347 579435390 982387019 416734035 795055528 811453068 295231872 280483090 244655531 644474048 346476328 919661072 400156380 216128173 131377657 839064857 849400568 244812652 617059794 672220348 916084065 303762538 495006606 337526184 871464444 659111756 981256113 651724496 217787399 174612600 382836374 858744401 408129015 934742042 108017011 320975586 391519492 265815366 922575706 745360024 938036432 222358526 559759210 478949236 799767594 330698133 106090700 932070580 477597687 717950119 360405271 948557572 619359921 272585613 902875911 176866911 614643346 320476662 917638222 651157573 535601185 381291988 400967429 461553226 263139016 261474956 606844195 534246315 976588708 584549388 973172386 161504330 250277333 644969559 486198194 573348163 724396109 838222491 707687442 113759544 629147422 358852662 228389928 994099817 758981565 174727534 398027192 406069609 832301602 719875478 827454162 875772491 845241012 104655855 324178540 732142428 359492348 192335892 671252442 245339547 416264131 832008144 128055751 297398483 500925363 274181463 599498106 354539555 571699557 661694233 135885217 694492527 827818780 291106048 591918917 673613654 544458649 399384151 364919514 733261771 140412152 337403609 382066811 904780983 268038921 309445839 748880298 776232307 964936398 192745393 255042177 182126456 294664590 265612847 887133545 238676699 205635651 823420340 212188817 328523929 824542895 524107360 893382550 289660607 249885987 403584291 891959746 455263059 316016112 527773102 179328354 660743435 481526981 856804574 119639758 147118615 775357459 952070055 216132225 760033740 947845772 647909037 907644033 726139873 661220997 609217911 219699065 775334414 893067121 853210960 248066920 673275525 986370888 601836090 338139851 382729288 717585168 288054696 793677027 815661491 558124126 937560955 774766405 104433930 150099587 119969650 723145360 242362858 123320705 660111216 705948830 317146947 491720322 183884608 827988990 526252038 445349529 346310268 821275616 675948235 122180565 579596483 633163367 705996107 330673163 543341740 173419164 315222569 803559662 735471064 124463563 292748404 967813998 787661295 315768361 348073218 810094278 556121613 767558069 975144430 728308774 800242843 790571155 160340578 921802321 639200821 906509268 811679027 663733579 253040644 626521509 612115232 447981621 688713108 825168955 346513147 577444089 401972203 251217684 519498760 824666106 690677705 556414613 671015278 714328214 216049765 784891449 520029284 966051918 300636525 795961138 678443042 372972486 596519158 395400600 210958999 485825419 280066057 335615440 535505354 379188243 386739573 607161909 225639334 948158031 216914901 159412364 979151516 591871851 516308521 459652474 369199112 607637991 609920877 105954034 287885191 567524073 245895546 566791860 536608336 666327326 448942119 643477765 240588355 232226508 576635929 467440663 363406151 194626891 715801571 215221180 615229623 456367998 616670472 668593153 268894464 584892973 618806884 341854128 855989064 819334101 371259255 542595176 547701488 579859871 624891987 698832746 644551280 926080299 527567707 347668383 346387750 458707499 825461407 962978647 619446872 253552104 148656645 340814576 273465441 435371031 870235747 617100276 763469196 254003420 220332885 232743898 582148415 245497388 849370708 490857681 130488289 802693342 715636870 205707664 264819933 299729908 383938335 148144134 895634178 267655516 120329379 938497447 986246718 874244406 625444783 496308355 650149114 676854492 231825836 485901936 166974911 118019833 822749736 697444931 565735655 376302388 889678757 823034641 560192596 503020745 885778150 941351812 237866572 112232436 892230123 780268071 159384237 138094895 506767142 423906334 975567486 236007476 354125538 967443185 984611788 671982070 673022494 175932411 260102250 412864236 877486558 405401993 877371152 604103408 938961157 672391264 647570996 543531440 299973938 926659127 577337971 836403135 149905381 210662192 812803984 985458515 213494767 107074749 648136611 402853862 670700759 512426698 831692859 521375217 366332202 309749206 329930619 517030422 228633509 472202679 824389336 628392389 491729654 869951547 118686618 929883848 276091878 761599589 313164482 755006917 942003730 159440475 918089610 100702563 119676782 558482521 865983370 993469992 641648251 889480649 614316183 902540452 510647634 336005881 945917543 149122810 953029903 959945771 535135757 289614527 791546639 508900008 614808333 777159313 364852135 471172051 855290645 725032795 260570116 382807683 960959191 699211759 994764542 249391119 426103608 972105810 246474439 311618653 168847394 879557927 880661103 502810226 719325871 622079338 930969972 813405378 393045065 983006880 816644025 312517535 561550234 645295795 676366920 786062313 497633375 562918133 172673046 373111864 721006868 538549825 434862441 750842921 886967852 628054626 579002825 508181017 879052956 756139204 634007516 906960257 813039649 343048849 928810407 362940836 703006310 617390582 100072580 483758589 214760704 724711483 549792214 434936455 527542658 613606392 422867638 560325690 460522096 855911667 351358279 297966787 657832260 486910034 869201771 980240110 319783994 283609344 472169253 248823500 262021767 743847965 180857861 470005351 699091333 200414627 751643421 285697326 800362867 166331907 114498978 536115877 209360997 812809160 185579745 560296305 678552921 765581347 996934024 346795939 725724418 351788896 633616005 527023673 679245866 905495364 390189905 771533178 682433552 853822581 470820516 785760343 726447293 778642241 964409524 267171148 958632552 283387708 940012648 879117079 215750808 576499822 751357219 605814403 276269187 375000584 716371114 688640478 989888853 349622781 324455744 106323745 358061610 767105337 989395594 624785901 746534480 779365872 734366579 363097036 423456376 665127397 773475884 814242158 552345672 513579518 736897422 875078898 603543563 502448663 723750017 507051584 418368410 234969333 406049884 490028119 351507996 368961300 541008917 719930230 822102694 491982780 444499053 558644177 945561135 742807648 895455269 134534877 891013991 970630579 323730388 236367539 253244892 653598453 825543199 294112790 120351217 234019344 774035839 465339168 714040181 686028820 524974024 593874583 921125440 223505464 155868405 656580711 113056480 461324308 410650351 704596502 481902061 958240057 647982082 573958340 466725149 605231285 229142637 288460454 146540578 218196761 548401032 938689656 368890345 330123823 276186163 706304356 622412518 555616302 431531655 223060717 510710373 462926092 610967141 743892334 728364705 936105869 647046565 198654194 358962150 435576028 686500405 849343773 881356573 381224561 857911888 298416488 108395161 500607082 222415325 258654281 922508033 172551195 825041265 354788365 949810895 211226469 755447438 938201030 323793747 707816130 617773320 175926578 874796765 578721748 861056552 828952771 795425431 450021031 585419711 429229959 341791008 734984208 613943247 191385522 811251916 503565867 465305233 292994910 102375383 691736755 275824393 318393035 763523354 556727673 406683528 539654813 307035173 471039291 885749497 822281440 693874164 751253296 789879525 298231543 207790137 244824008 722146591 980037206 812796329 375493985 241330916 590054102 714542573 901515855 906963484 872050981 429766489 981180477 472672142 468318216 259221246 175023675 836595461 936946254 286726212 693301022 312058718 361023518 532333444 793459994 774941566 480395060 249221140 913575054 638731777 104379885 314105290 418453299 572190790 106967099 985782373 209304705 796098874 354242526 618602977 778054589 976633779 253283112 633070953 391694300 400089831 204508459 308692899 424820440 122605474 653679499 519332863 972765019 767996754 325601794 522265552 290000243 124669136 668639873 810656281 484330504 350996677 118796951 476598388 725696584 970619547 616738698 116379677 372543049 212421324 611607251 172676175 879892510 311983294 507546052 875026850 640684487 928237372 343368073 546363657 936072078 277677970 477069176 134475709 833231175 169777322 563055816 654853316 901962845 563333174 812676409 946400501 529838085 811157976 564743577 752062754 954689376 448976562 643367275 329439210 509420095 970428143 319310417 734747778 579094899 283671167 179590034 766502509 862314680 293677972 117191339 586516606 144603136 832313335 512685586 761959655 290024882 237049183 794879395 537312117 931864499 574662519 487529599 960538962 545911605 296489616 315676232 393565124 785703636 909018576 852226715 447552738 470883843 196897870 743376112 206940109 701981368 935369265 642709256 753185979 274800859 518696873 130433017 644708240 769034667 959011496 456448812 904320230 556893051 772279552 401657900 493891778 944410426 620158790 692815083 876777221 775005933 183394270 654968251 455657461 951656358 789291327 527631234 907178552 716462414 647530404 243093432 943219308 954577948 154440260 202392494 998977079 891937750 353457394 819541788 594217878 951551537 248549200 831851460 335236335 245331944 369378174 273430215 542701340 534770094 606827390 415065251 242929499 759669253 364408574 622586669 503992762 441132554 160197428 619060644 139286359 593196443 615206966 963304297 136774580 313862968 803277287 160645540 684003225 684700434 536107148 796268572 996660198 737802894 576094360 574351681 120172190 430362965 728753696 508251980 589408372 366360203 722065508 513469860 478520668 690810231 860776932 978743098 751459356 277921622 297084936 955485019 529297488 986805790 612612186 207915362 668435862 447460214 142309949 148735000 822891047 597875525 888813978 765991125 997970086 496435583 131740059 465464571 146610342 566582629 324052046 547110021 609822689 187967596 497463480 451556933 408744527 314930672 308057938 400925080 406955318 559618686 417577747 755158431 675697579 411413580 377040767 922147850 236692421 794370486 209769709 726811746 866612362 267848305 256117319 579607867 237304947 345015218 283963869 858242585 174540463 112052665 766436826 655808076 477721558 633548764 493715111 233332523 587727970 813791501 290408412 317323278 915452412 544948183 258216975 922090977 598724492 404904231 296834038 540858486 635580541 826927279 421433712 968184364 511516095 842265759 329680496 122769293 190701617 553735237 759385884 849350408 551943638 161349479 222103672 819547492 376903437 899019030 377992633 981458546 183165758 503580847 506408381 453086851 688119564 404808315 213648077 949285283 901735513 691483101 396782017 455242314 989707400 459069575 179483352 222887921 460840530 241360839 908773764 663842166 898208146 223665913 235598558 571217774 883133805 947422055 820375129 215950095 897991202 256047115 584419710 548955235 581033239 520715801 145607634 290493578 510987995 430451701 938497843 398907839 208988443 870521901 532739700 149186853 725581518 395477585 602094958 932602561 139127338 233324708 533468000 831972435 816026738 479949105 403171589 476934273 933350899 428521313 492171567 544840419 199333067 406712640 743020680 581554618 135341555 858617152 891159066 876468094 589446591 200076842 919135447 682640160 149417840 345369284 757347174 352778147 483374455 351490349 907484213 478298407 947598053 193729640 265320653 814650287 409619132 798894452 712738492 227297397 401031933 284199583 601268748 607126997 846822011 744219079 968865279 333233114 650718682 201981486 772726205 266029862 618125263 696724795 801439219 913233255 133674197 824916704 626989522 554971278 854502195 682083209 694649651 818039523 741715115 627819654 462831945 131089756 110056527 388830510 601323621 207150784 498720501 516611853 974327347 841196703 533709294 985042745 471613280 109914084 838023072 896883537 987346034 629085183 472308710 718585626 503367750 890617729 683920792 111044263 705500413 845927928 786075937 446730389 148373638 486956747 935782378 422899861 308627755 259263794 701266528 926440648 791379852 866688996 964119629 287225802 276718658 528484109 961134441 797924971 184616121 222329728 189137459 677637887 519762585 570612982 358792018 972557260 863583732 332501698 448102686 411355059 773499682 294009042 451756223 463994908 426899937 562592878 734009209 144737322 567063191 448442484 415641161 186461366 246962457 169571404 813460043 610712658 943657191 867472469 624189711 446059077 504685221 986984786 360500573 828459918 612136949 370784416 426699020 651179713 211385707 432662317 223607796 949129548 874259961 794248170 324859787 961642428 476650704 277219130 599433142 222048007 828881269 478802041 360342939 202455505 675044980 200899370 982023052 602171542 458027216 962263591 521166423 300535531 670040795 108488458 593267376 796709286 952183762 600465357 435813702 468079626 599884383 389919678 673392620 128387825 390946641 633798806 934464947 454870183 332347155 905688823 909798127 952236826 629657888 399475977 933869433 949215333 350770619 472690772 114738619 152369389 255902931 313578308 592324199 248502513 485708284 984447753 849922379 115769102 550291610 843959676 396392261 725565308 827785995 824587277 686119461 531400901 554877858 298522038 837315902 458060526 583955010 847208191 893526408 718835369 463815366 672716574 694621854 743869481 226079007 463632827 309363271 605233601 255527824 670096543 198492142 922058607 155723897 249017626 303041073 345076973 906702960 898964713 939872197 469852712 909099631 400511847 721752170 476442069 220009942 630646679 215491844 308753122 236194085 920401482 824378544 982493210 817062475 834077730 617005067 641006482 632825915 886196317 186221101 471075450 983037725 390087240 790106399 695998542 794258640 894793820 106029137 549189690 436306618 972948459 821454554 780792162 410368124 170894352 449561682 409062913 685569290 229597958 190474284 647578221 454527184 962657071 910506892 130989576 142801327 164395004 753760907 614853418 133772030 469027752 643725285 676541502 890925860 491922716 448958352 537562955 257374959 302467438 308626804 153738133 283112895 589340288 505184906 251055309 782768728 415500002 457290245 354462578 711625216 694110639 939843929 941125793 287063037 911197494 656541696 419825513 862370311 777509691 623090164 899765905 981411868 181801086 829321653 421651497 111683967 298609610 996013953 925938987 889828632 883674336 130724554 656966404 401231585 274568959 259923501 140660337 602475363 687681807 597321008 832724752 790569009 168047318 839266066 667260906 246976718 311288422 773224288 487732823 177128831 905867087 885357794 588607929 881782480 864905107 672124839 300656592 719705001 662036624 777353232 423720262 823874641 264430106 105785539 581102904 699992278 255390490 399436641 574710361 777568311 485993826 834247189 523630040 983167015 235969978 581088808 997659130 692948355 248184168 997230663 131392120 222580137 356420300 427460391 174067556 476976008 287245912 819735969 248662417 577513845 146564587 463027273 358800855 867533285 264133646 960896548 406784828 407069687 369510309 305531219 410738559 649991528 778428865 802586984 621051555 823466795 199603429 315979072 944062809 742228685 594772606 293017450 555067672 320368337 384960541 855078411 495883958 196882131 261185584 177114074 886071476 195768661 813039959 741960081 360955695 937145122 326574715 580293827 342182390 821768028 969146395 201895160 993807227 635036275 587927292 798167212 867122144 601669109 323429174 127329511 981050698 739388336 122663605 148684510 733259182 292488953 452846653 573490839 265064143 694028548 144535977 330197009 569889508 733371504 191116912 153379487 225460435 806478474 892801723 608299397 337741372 868430328 674290782 637275065 178109637 170216826 241428877 406467692 225657741 669859796 697907464 571691935 731829671 983001610 142046728 768858550 407255027 484192754 139318884 765555011 116591585 201181860 850115278 514619722 872293780 257819064 353931661 207608799 714891793 502431393 556189764 728770734 869579756 577640859 353387354 967802677 252975904 504354951 147317044 733817674 333700922 584548034 715716297 244321382 670524127 647100530 968588352 247670363 140849973 964677569 598577819 661253300 508030516 956848879 160085402 391663106 858627527 730242594 874977012 371477089 943604479 477445973 791771273 145528556 386804204 785000895 812648033 422796206 946721698 517362438 482354691 924194894 850983268 580999404 260585918 900581778 438136511 670251981 686174715 854327554 740482565 870095529 626354878 495093220 159791456 608997600 772738372 267371418 124558872 367660005 196918253 723514080 502793729 169532467 835087194 435817242 591076541 980134034 725954586 934758860 876991921 367861351 993188923 371771063 497473856 936730717 557548548 665304480 774306746 149093696 971169691 295200631 117188108 220545560 101166887 451693123 509266851 368099746 554440355 631648151 161255338 652453106 902462782 145218872 583000337 454480706 233549822 874547098 190864305 251582058 189672094 579190895 205385402 692863151 505418555 231475673 754792734 325640179 316406439 793352539 450748560 619302207 109037724 538554335 272610164 395277731 455093567 203777696 785499839 379452931 932538145 740941934 706061503 752357183 970732874 421621266 199101122 994338890 983785132 176164823 145329375 280799867 476988073 780527676 628985470 984382641 688245874 162662941 833229426 896295569 189392002 161880270 200631230 459166812 679819842 920825043 322970058 658925441 557671453 473211195 297445782 922720132 517833177 736862169 831035179 478408587 562130378 725516924 686924188 284143416 281515708 637447236 604682949 712242312 855496122 551225492 533305752 491117941 737178033 182215476 944440056 689211431 943252724 229794449 326126144 684552585 283718932 519024155 770007675 219333438 295633731 822550860 724564889 833099046 323477287 631519955 235788109 528196502 769227889 190586961 738654210 939556274 449563890 211568832 239702285 157397105 803551567 884879678 750548013 184926963 644914076 662091130 106493958 302694146 123523390 619122735 774984272 997419326 665634871 437610908 578354541 146379628 781141984 784304512 984127178 545052874 963009413 328045084 488350081 967394683 215628496 331211474 647496587 887409342 134231650 859436398 169642579 580795520 443778966 312786243 149777772 579606357 387876495 658465668 187056154 914048770 322027191 430283558 757798745 264483878 376903982 298371564 425994385 575169523 642040332 675269830 545865579 272769119 497169405 932392563 378950504 629298237 142534812 531136137 640050871 816488813 358539330 863613986 160831214 510657391 952017361 668343643 980433413 640007333 504508637 140202111 608506021 394648122 481759013 538203272 438200561 692903488 195527684 258314199 421171659 857808820 139426364 395246285 101935930 497704843 784262680 724536087 123553226 108698974 205607868 769897842 630591443 698347800 886408419 145631115 658786627 146180340 711784336 104455801 334162275 309677478 628303200 635092387 594949920 833417817 284167972 465744970 933022181 367052416 701807520 328541591 659409331 205756454 657456387 923144954 280843839 218777156 999055964 177308131 706846461 806788623 899941084 940108153 175572631 999308989 743326355 954672149 332555823 604993136 198783962 776207982 485674745 874709631 756383626 986244725 235831014 823288495 276172400 866207423 968367338 248265783 466476189 551534938 352062208 741946578 306167629 172262798 171284572 540357365 404852167 777194277 932695998 453329070 868187133 596387461 382542949 566774520 281355030 748452972 341335975 439407266 136573417 438443753 313116123 440131382 894975696 594018831 690025197 895095668 833005066 224671948 313146867 110413628 195310606 910687561 834110723 261371090 864087756 303868290 617042154 636357031 537506576 722593567 445380277 512020149 804952190 647135498 311568605 870321826 615619949 516413099 347789961 367569615 281420327 360637963 835367894 982962315 902376488 961621643 399750564 926540466 839861721 139021448 652202866 634262634 266486952 101730184 766348145 416950673 585264049 584377056 671851234 744834220 420141077 259783024 193661830 143380438 526939320 258797855 736852515 827925782 678527080 247772418 815313104 321112841 310920157 981457519 826660662 682860226 785201949 761003482 414444782 863646390 270670172 358794438 524849795 736814927 965854544 704757496 164507758 668849351 530604957 320270884 519908619 477445993 129684538 552461658 258158124 375989150 210293491 790652683 384589332 623792356 123678084 540827727 982190106 571624755 962733444 363923456 922476608 264287222 557279706 182760278 728735035 728993820 166607481 792570180 625539866 931543906 422012695 836625648 957258771 975405666 247844367 839333855 241526790 106267437 881041381 551840870 303069394 412006287 991013275 146471925 367841524 588837495 471124813 755085631 898397226 358195288 760809840 317819251 400413357 919845046 804874664 329947798 298528162 398985453 747819806 137206185 985420333 312466093 314043365 420601136 994000090 736211971 182303424 426297579 217821079 882960172 642379655 430133775 962085265 247638552 598366215 369673101 485612631 337925370 605148759 781400470 862152573 997208354 485147318 493213196 743447094 551238609 513384706 482677718 583663920 122872470 507863443 685949587 919917275 749578495 358915953 350824576 819156917 698592621 658756171 614968470 279264207 793017433 310436757 801798424 503209851 349189486 180114678 199663839 768614484 599571289 173772286 636746574 715254050 284653216 528185039 545506069 616966271 717048633 182965443 700849577 746152476 965616730 424222123 129335121 879647741 550421934 853722670 598014262 931127340 170414959 153132244 188195130 302209396 731916409 173102733 490776179 508532609 866214473 367374657 501119555 639181864 243840754 889193108 284755337 503268668 435009537 821224395 177047023 728903373 539569284 873078560 135288420 935090188 719883380 180666109 671128346 240642887 198634086 935165277 531667420 141453366 283551320 663868217 633940934 892047139 292314087 178867557 811401220 498342876 203641236 684671428 512540765 911296449 241145559 444771322 251820863 239094844 810346303 484586614 212551455 346304069 489810625 475477203 779700767 539530661 214400326 633201339 662928065 304484145 530583508 362877854 504430379 536898867 536160028 382407731 366207976 437366290 971221563 983956912 201136177 641922694 413591458 757060884 599968070 510966032 304514746 846109035 238297857 402310321 534724934 908290538 794319448 926365788 730390942 754447856 576707486 500941756 865109441 956865846 847174446 199040665 942102401 434722227 407250594 607975461 115060015 225870554 566737765 918346441 562582000 448844371 923990165 760327961 326890199 636109042 742769280 533985952 268870928 893911503 180350539 861225609 683009118 849505450 240177826 225319131 979959464 807828954 851292950 829645128 589761303 107372418 775550247 309527968 773706160 875969162 967741874 206337152 360897169 621071462 410241641 875667735 498570835 562978150 967576562 104984147 484323460 806187644 853605337 982242165 426367188 566219569 286762974 413740761 503055133 839218120 282790423 723984854 116176418 377405902 315213892 697070337 471033183 685380833 191901213 581999913 591713703 971970118 116128052 539279818 614479932 781757429 802548663 997946685 853441711 333882900 488793557 466325885 991831251 227929483 131266673 992002650 964576003 551669949 752317633 896955717 328859508 249040492 213804057 388606384 544819069 981213337 453951620 559227948 598665008 559358744 660675285 273435112 593248450 483327707 314630199 911588817 475809874 487244402 723733297 746077844 673935536 269623934 188750257 633364916 558000417 515430816 301595694 923302088 870427324 412699902 460102987 207923667 179963484 881576047 881971915 622396063 860499240 376258087 222258019 421799248 152358783 581805020 868072464 767572505 193539054 785977842 735476559 817283968 565166024 285965736 116240987 755418343 896744653 356363705 762376866 517876693 428301151 808423037 531541360 425086246 910238577 806463907 361564477 410130057 622649566 200097163 994660169 109268698 114189964 693199117 853893624 472948530 849296664 326482526 684233090 547506300 121259234 113801929 678223489 582292883 724298467 889234517 230670875 247309635 863751703 967469475 445809562 411213818 413240631 689387365 717000071 400536182 290636547 820497098 192762537 328256676 902995556 348282010 280769838 269317442 993724452 288556174 772343800 665035462 335625897 317361903 156600482 647576230 779462401 869715324 791956714 692250629 463240270 593819769 284154001 893655383 599958365 574818856 633426749 630202869 343556092 282791419 459640438 470311262 975817190 695910146 209478577 911322507 482181330 811712181 235958394 504825531 695629203 846815803 755190390 674170303 502910291 199603414 367103935 695317348 323445675 978694342 248044117 112287708 119238569 774506224 282452384 997897550 124517236 550219747 171354036 410810812 586024860 707981250 784214179 463009483 194587623 930955077 579035711 784332142 107526351 447325598 896075924 160048648 537343756 416438793 857270991 879271250 519195212 358085903 612324593 605235974 394619618 232192307 196839726 987665333 476025260 257823331 185648129 710270779 320075045 479747729 178806961 728052565 437716531 519405818 775468630 272651547 905297998 901088798 545251582 621930939 768276672 957257763 695583504 529996849 140321781 814998055 312557748 661853892 786546458 510797667 828481348 968431550 935125738 446271350 486179772 269421833 446808562 625496180 615970098 579784791 296930773 614013189 931503121 442739008 790650193 558782793 157052698 687124659 402057766 615620528 165625528 316730953 684118266 825705045 746748314 202364275 570168886 524098675 844596201 466537112 951912358 856081769 755772348 316104274 321356808 733460176 188616652 770439784 454385111 848639068 669226289 874860866 494154506 701526489 763178831 655133612 380779658 860820303 973795814 264594877 565018318 566868508 243717479 540146162 175335921 762120791 843051610 272169521 804994983 694964680 577723249 261673936 508100287 474190971 282289178 927827898 906115616 462465255 866411933 972441489 488519086 177211359 127591161 364784262 275942656 238516195 823111488 699372514 409911844 792939631 579953061 740717015 842528775 468954784 909351298 339434749 258637471 453625636 746924725 958072911 598060611 938254324 338444162 265354708 722491419 306630654 834347636 377204710 976096258 976570161 130967412 709220490 198120564 468828956 980798658 868258764 626501553 491125758 179160745 476164577 383523520 722314691 140789247 198013428 559532930 100027852 794808163 391500764 626651873 702722008 893506449 179410213 957297793 973461334 759062307 760294672 713579919 841889397 629741090 961848564 888283944 326559195 274867355 624413036 698225510 876640753 671880290 621662328 574697555 149438734 517131943 553069910 503963331 182659624 829409552 610690560 641987574 434445347 384007933 285664016 498010167 938617042 282308670 256685567 855351074 114523214 109601802 858995746 232769308 647486661 893584207 492854337 499895072 726723373 884391158 314395864 849731025 994440799 622941988 466760233 855613037 680697439 379495134 291718321 859044528 183530792 855086520 542734083 583418369 553176408 694937794 761914709 887127539 414326015 654186195 229216267 626474698 945112264 961103521 661273458 190933971 339779517 922457450 535195778 214116214 537806357 797168016 319429895 269928139 136757528 410793662 547255624 231743185 484153890 349999786 951640642 740859427 988759188 390259543 973697677 481736642 671777388 224527146 863836480 753934877 170223714 769805618 350243570 147480459 623271655 326510096 296910204 659996944 955168945 909966823 577091569 427420509 277644006 980563703 228153076 318372852 978583807 806299643 850005723 656453349 489932246 202109828 913557549 438579124 599009489 867939362 259568358 507319799 347662873 581852234 788129018 832950276 176891135 546004072 554976638 325395190 997793843 711141991 290592576 893633000 542038232 734095689 250621727 890853663 242093793 840111212 410986598 900484845 204067358 431778780 408883274 261426766 298055388 126257706 117713609 730203049 788326781 568373815 250867522 577434754 327862822 535388718 918503329 855092533 551847943 558595924 251773698 254348129 583386624 756713847 383608058 369180161 220269843 790928573 656902364 367066361 800548789 181973681 199813597 628604375 344239958 761196274 297621890 994232141 640077543 593350124 107745830 797014040 222373471 433828666 445729049 150684443 193900232 658936743 780685954 231009376 839152663 412857413 369328912 760965892 475150191 300296588 646454414 613026092 410036803 942844374 220029686 122145927 403348343 105927513 551609056 801153691 689752664 287279787 273911739 826251607 670061972 368503354 461230481 232005419 442271234 839052159 167666616 366174869 224618969 468081863 865799930 580678192 760637870 483563157 440443154 816314867 750431257 834634454 558273871 943245848 920412744 302639315 775446404 978441747 486531766 121705195 250250187 362169390 758773831 417027976 389720697 318166362 974639325 340423099 168054363 698150547 755673532 355656691 717925574 686764167 532575410 948267463 865964404 707395069 724603560 249792940 704642728 692940983 284502666 506265697 567932855 242283489 161441145 421255598 471934622 872271026 327719364 765939404 453845653 249065026 533363357 289602574 448209964 175179866 717111557 593675567 180366244 105807912 354356620 421380819 556326736 996765424 592740380 166020081 781851230 758020663 447959159 469470949 438070248 767472931 502018380 646369609 170002858 727131070 349467530 644363120 217342901 139318159 839276175 714675672 291064352 440895495 337508180 241668108 324846879 841973486 307176552 394629682 402914900 507045379 330106218 822323574 602420822 473912101 225809185 777339895 894339278 849674022 899042787 974260289 784021423 723028363 377567524 918488065 984768455 863097638 696700186 612531226 179476082 651383927 544296403 130961644 664372810 494529694 567638087 188752972 528250172 338148261 172950103 309094607 663957101 428853966 202346494 191299647 101683010 548655914 373023661 857854311 212682092 195852551 488741285 800664570 244475620 594833305 590637553 496290944 184607310 624649038 769623956 306919290 966602407 345976176 676002430 370326180 622303496 678166183 205163930 261595440 910411634 302781411 592330224 902633843 900213558 325209569 232125374 288871152 247147623 963312321 657350516 649568763 435370554 767251729 939675587 403950197 280364339 381590705 518004247 150833118 562408255 628204688 994107990 793639781 118726828 897561738 237805391 958636919 579691697 486549284 729140809 843690274 537257387 969026695 124685399 174027105 174595805 437074303 713688849 226140121 400236231 919014788 587019725 982955744 645972607 643497515 530823809 386116608 810512170 613508871 801137975 692642015 862956571 254195605 481245593 480339975 648939526 377425426 523283915 253011244 662878930 337731258 233112751 736251589 769022709 346277564 761246666 559514074 172430123 814566745 555892338 163632907 167923689 188740180 350828782 437977994 956143264 668484461 751159602 219911408 629281584 276489953 915286873 124471872 182374040 221746874 304920750 754706600 504044066 837642400 824293598 566924446 519058674 103359095 677311331 325328972 700544986 576914886 957898929 705791705 313425482 613816257 804796980 672774957 571515651 775054682 487932025 796822685 601114942 449403348 645477798 446953757 474968238 320868948 778391973 954397619 237487715 868849984 355189203 690271565 526485649 878724380 334645055 780766168 485540259 191441633 425603759 784277509 847120135 335945899 696087354 971503459 271858442 803209379 882441643 398820025 557186823 827822484 761811491 834394621 276472200 528003151 843218619 554454276 546243212 387503538 964738522 109311028 547040484 271236606 165068991 598911655 882782164 560756410 692339293 619653336 571553378 819375190 103926758 557972865 172352464 650898960 253215325 909575799 230803628 274992872 148597815 980439257 681436004 339181521 823132180 481842075 884418056 163694823 978680893 796223788 131389705 473174935 786329878 129086317 910775858 974125207 316626311 417626508 382813084 203517520 482896356 995385425 896866819 115638960 738437222 114882179 316650442 566582939 864277076 654335527 413586601 985269177 198831055 931201843 987121610 553464941 762379516 976062095 708532195 118808318 409431439 369365790 412778494 867469381 527495398 437060126 174724695 978099427 310028563 801748862 143928377 267071829 425305691 572612571 564353291 565656257 862316946 420387997 744104328 984386570 495010157 709704718 313953848 663221773 492129990 928618451 537763896 276548725 748654131 622400600 165518890 824597401 710152185 530279917 636338876 899949507 997171143 415546170 859137166 577888255 258362243 351257965 849772829 589119021 679661269 527091524 685788227 482190587 870223968 450975174 958538840 211490824 875986844 520771034 270963313 168586446 587749529 396724951 148214050 766745390 208298595 453397392 829089749 710687980 903769992 850021021 493625092 573582520 293776074 965523573 836589413 543561100 755161466 886137190 403126985 910054105 327353000 577727867 712528913 195675544 494551658 908919557 507751434 715338450 337783126 499212470 347580108 568302714 474042425 720361447 271284353 866660132 552900555 814094260 642652506 601351232 307731203 269838071 362570919 355726044 402437745 522385758 840510914 792635563 722728911 778169038 297551409 305734072 127826392 385542529 784996941 615371194 745031834 453573850 207352195 749539530 946649508 835578232 260622062 638176399 741257689 490526185 671056621 941379755 630278737 556358340 714100594 422820246 575923124 942161346 634922534 799113202 266802560 770361832 214574796 310054282 607106091 116532108 526036308 926909549 901151650 745003446 531160235 837169778 131213442 545526324 212428180 451778667 953198731 307614506 317092920 380618456 513924946 864774698 968048138 489372250 733180978 181927718 227676213 112383081 389516707 373420880 326347957 468893139 887087191 167128336 313160626 187718770 166029222 859422170 929760442 936575268 518909221 939975881 169895397 558909332 567939789 949968623 405328624 694157861 337792588 206540394 272045948 791804818 160084379 751355477 744295744 518659212 979740257 429047048 705908620 821016109 385790760 469617480 352717105 697365173 615151019 494285319 633645746 173936277 562696932 967452023 933106848 195943287 544873213 241666187 948628340 464218410 420236239 318837941 106487886 877174039 603044134 312799751 926933653 810437193 694577898 647100599 554019043 783327847 709352776 301518088 469426598 164739580 125191500 409786318 353408002 293920340 572274125 827711357 597463463 691620231 952900406 506425380 116482229 306853606 825869507 286604329 907914860 985124931 182897676 268195572 733494303 498712876 109865304 354534218 448312784 435678894 254951478 144446754 383759509 941850743 496084771 717728686 464493517 504043660 154382143 797426375 857870818 708737894 447361079 757017643 571602740 722239831 538180027 211005049 771812919 891512109 298809601 253730569 433076332 978113673 274600219 989085436 620498650 207692598 584717864 678230295 490631370 789811210 814839184 719725016 408365503 643198741 326697951 462211824 888693909 450576353 270171107 496257900 643059967 120218331 572456410 857105578 335671321 953490511 770331839 750633830 166501400 579092495 798925049 436896387 605960349 276697137 606597538 963272932 936949271 816872272 506060161 302608556 895529112 972700237 331947441 513017471 984880444 906117259 223018651 895516009 104473455 171805136 624402664 721286783 351150967 274619416 291101544 511450999 139073273 846942842 935209332 556771169 254730965 509911540 790861771 667317609 629412017 584095698 816368015 945808582 394180603 202615720 559270142 763281454 644094437 554622070 433897840 458709514 860855763 181976977 554842842 961573001 810192020 356295529 347972876 853228622 489235057 954184099 958287582 903066376 433946220 129527476 273530586 139966885 532083049 202249586 707936478 487277884 569794909 750622606 578196736 552050525 368454778 304879877 136987678 246062813 603460130 465232368 256971710 499472375 165484559 870858521 190922135 318524760 163379640 478360960 616561644 614026074 118319692 215950808 661893845 113347734 473049446 997992408 270062171 599721499 651148361 892957320 472339837 831394928 340751793 775326488 906177516 214338383 403243679 306498463 961939962 805735847 846109612 523621354 336536740 378033638 197811150 637906203 909213777 248369376 632384959 174609316 667714571 798748735 282914656 592832144 595897714 754124238 393853942 959235095 205448264 588378856 938914415 255052243 173551496 921756879 541419116 598823882 467926238 392976747 844713638 358683288 826065607 925252435 228248214 995086276 374884743 788389581 523246834 195286814 767648081 190542523 966926453 457816829 371957122 328601969 343425567 194064860 304698530 554161507 683479739 794847457 557837649 829527358 587562508 470522560 725773071 667739988 567352122 723171208 867424609 993750431 888952466 264614402 566322158 668250201 671125982 538662215 675095919 953203805 167637877 923226676 221312490 230606834 890828248 141944978 902204432 903406522 606466221 667883614 107480244 854680192 550819176 444841016 170537199 308680143 173057814 838584456 666124589 743669170 968520770 934965616 328465188 225127555 717049897 352613457 377543580 326661845 699873510 379342078 975504390 494424174 801338178 448839075 516104367 976095876 743478171 766107226 716143432 800727444 820920077 305900595 829338552 370723176 320091100 844273832 344776014 952517713 542016723 470196213 347279016 348401450 350895670 604637228 625167208 268003255 740423253 858531302 327406368 823155047 432988807 921957836 324273025 868418921 973987809 513281426 869860361 453367579 985006665 468333618 504686100 196156608 832590415 582893925 320638264 130865463 120816775 927932206 584473552 309053802 367526739 433168472 620211172 994953292 666641104 466910639 667422451 563547901 607181531 869927651 475422817 341365474 319970572 322197951 762706170 758725278 926503744 561473849 510200516 531819079 913307527 483647744 403444776 545764118 423278007 532847764 374943677 560236745 497297929 997979589 463014493 147457738 961626258 640443075 272575525 919308069 656788361 352671090 402317883 779120655 294369468 526211826 603454147 668248958 276548328 153193393 952529235 810359854 902596221 603397893 781646908 277025157 745156346 568607316 923709601 911064124 767432128 530249566 111146131 663723793 720624859 162287859 949465434 259176865 935708286 715361595 987017801 606098073 518920227 896967193 689444057 115045970 665107611 283402159 447523705 729319778 395250798 617245627 695256108 581856704 670852313 641044927 252445771 940827189 827849139 465255229 581399640 359318878 245238957 661124904 990668149 247675306 676122287 561475162 184212608 456933180 377045019 615245204 847732502 246259179 383970227 676636053 120591844 989931753 728639273 594862129 662356497 343822771 149514568 455051979 131550694 647103261 462940361 951048261 414275743 824886399 195506635 296943793 990433679 202023293 585654360 124814969 291803762 332197496 284220324 690138205 152473812 896802319 343217963 287324016 317048621 815417623 118033006 400929670 142732907 978090998 816498371 967196897 958673990 337463101 786499315 899696151 821435720 761650810 785278729 900363553 759699466 139052033 136898439 455969439 337801449 862635055 986525855 639137288 748256050 174061482 190654839 812622125 997542767 347363336 959599079 806688846 283451395 362566640 170070381 659554883 500978609 577384147 501845828 513825062 317334495 788338669 377316566 471878520 849889529 308364895 388262214 868059542 373286313 291602689 790905924 235074795 526158448 178305688 192128116 546469691 125378824 812648451 556316447 558363006 402088265 250138007 451010707 601575407 500561365 580666021 831082375 959796705 386319764 582318580 341511508 625945887 454169200 240772950 477647830 143245840 676032925 811407857 191449534 692397263 774184429 928686202 893389819 219667219 547317772 171440830 437245928 726221935 533201220 767720946 723390402 248826230 308709447 127899207 480670945 540163263 202582194 430996603 699665906 859909034 681716904 198387899 517462307 182396059 404652530 423329353 501657003 308736194 709255944 633042054 964057720 366254670 223544141 410565918 776959591 203496511 764856692 328545943 415470000 525356985 196810947 178755916 595965893 328526852 583382294 490099820 765552891 991914711 392503754 830060510 114819722 112373762 127315831 978363080 173362487 716687282 792945168 147196518 510050225 309198126 891355459 402782580 592788947 926468386 552718109 533584775 683715134 861468842 623186854 446273638 646165266 331327196 836804949 830634077 435169630 722613087 569065166 255830350 771138699 188384456 563031542 664596460 582721323 547690640 688946917 683128681 965004121 471852637 694155383 614863500 228655933 594872736 811820564 805614974 541368374 397307209 284679787 862319751 747163508 455985284 997586920 641191877 359766186 118896279 364109962 329027634 496060152 417487542 283171703 732182931 107473720 907067025 299438999 400611688 125455740 958723769 219133665 745515232 434474063 614357944 742917493 860767585 128697489 970045012 763604072 473541288 758704703 514316594 407168563 686747474 309267102 487723546 395585030 780006936 627515239 921872926 199214939 776389310 453307068 627253569 440154378 705810122 555219880 500009327 507907320 956511571 979874404 905824862 384504619 704769340 471752885 549035856 705691176 706089573 369334212 374378558 208008754 972694735 378340284 455770522 815763578 185797481 173644020 879467992 959696216 171478966 297633690 314058669 808079017 640128653 648976507 941485212 116502961 288714983 149366201 128057224 437405543 195830861 909094107 392638856 510079786 419986920 895538575 557434530 420738739 957139081 302470817 651627412 529732607 765792565 360737575 478160780 461139080 512059060 989665481 302077216 435055800 854382438 447469110 595730236 258494246 179654380 770538294 769918708 109283264 169476148 113391380 732107439 258706842 699637084 820383641 121204845 831541304 840261172 354757733 411925994 977834827 400483550 324161303 943314380 520683365 377119030 394253767 522036403 845596695 724312525 209962667 861445427 360512004 398760878 283988292 456357927 504141952 159917136 484656342 697533338 500409369 781169579 764684535 699928057 352619051 422031953 227815579 158522006 647683930 995984114 898498137 799782418 182204674 269136448 568904080 641995324 677286287 765492576 844416178 892482557 981910711 704809990 466736912 923644293 125844530 517848306 891340956 835475539 214589365 182758298 187754096 291358939 148931436 178582904 453014252 456715555 256050186 341221376 755781010 206721223 408640904 197334078 610892160 921737464 617234332 863298710 735156084 168636817 255681810 168292237 903744069 798287580 584101413 160784681 780419358 524016005 422146601 338401487 614253681 591634006 738766248 833304019 555629282 348146367 564924461 250229002 107735540 680861975 517665034 519700185 327253761 225018247 778471911 643806732 686486315 899761871 888627481 669251709 281529257 700267994 424742535 598862143 126275310 104503808 681290766 489403764 833702944 653156532 492808280 593593595 267986974 316774388 477224050 341681834 541314574 468977900 909186469 966189812 344161258 606855564 347082021 354119576 809944487 584859250 424591500 723428792 594916660 243527196 256470513 457590183 395697691 258249346 118239018 869581356 307235050 812325178 566634680 419988213 480551474 795478692 697095279 485936074 221002968 774913205 986699932 777364110 452233581 414348095 444241921 741659550 113424092 525877764 413867959 951395694 465783119 670917420 714760286 591267077 652448184 965492298 960461074 629279606 697627661 856881137 101053521 610224933 351688272 567833569 898735598 327014543 492690372 381069513 787919838 862419151 502167962 657225979 496567229 141152960 382564235 157817636 533690517 651460934 751110512 925279487 758052637 939795300 752504811 931510590 717027677 955921782 651349202 719825848 791032255 277036119 232445747 818737095 741826047 349946368 411192281 477554263 644017524 228941653 823348805 184717874 402861266 238651928 342709572 396295262 968831329 560726250 682607553 610072210 600521490 471456709 536085092 848744883 568543836 506684049 227012284 672331550 924264305 716149830 886108926 991979877 705341435 938417474 800034988 352742848 108261268 421643602 128765617 381524438 626608969 269015459 984296089 310345801 436931549 874352297 874179574 632085323 980831079 901927627 338446256 157128826 572205687 208989713 432090912 139275803 258762362 304606882 343508457 763428034 633525023 143051687 314587496 759644474 660787838 964513863 396849667 960269932 587446625 131597847 111218391 190980305 591198212 615675127 859982964 742740871 940629449 205274250 171514115 160692899 297677760 668242161 225866005 982017011 631698963 190037689 803934524 953280091 759805788 824614659 875787067 739068809 131045901 238449561 356692339 785075853 787186892 616055043 447690169 732519324 697083112 934369581 583083552 867184547 134741634 639849520 197774764 891276955 548038472 591156573 193259087 712665497 955682729 169447031 209319127 865001648 564812449 255527447 661464033 945397096 894880926 802793444 370797151 273424339 787531079 245369102 892381169 840373199 172238887 244544277 348720332 269058556 986398767 605092394 783661870 380823683 504243168 756450831 582557254 687013057 571427654 763574009 442106143 927364574 133693326 882305391 260966290 814226527 142237926 715538906 659830217 839148327 473670129 331951455 333803352 471093692 397783315 823793931 128518071 571888669 980200281 758518599 668319806 534117858 616357483 306681255 633019482 679290188 479515951 734621796 471161114 355884074 836759919 852929386 494603755 167338526 109732958 978129653 520957955 151143829 456026955 639062026 391136671 674577785 253943830 753022790 507840175 904003435 374411457 640290263 603910073 643356888 876134118 661245106 331089318 149514829 377250015 595077127 244579881 809925685 329175583 694661184 936322629 403356535 210390475 787080760 293513509 423331023 512555569 885853049 742742658 784595322 680759177 703140708 332372986 533536171 463468068 189639717 707719480 641469975 272013460 792608628 644096955 856113633 113559358 864653292 862517509 350224352 118925107 595318082 191049409 770680402 744976047 370975779 953059281 426401132 530745028 637738151 955766312 434789761 567494071 512559350 266589853 808308113 390993669 769011497 904114123 195485278 324387217 407339312 507271966 825126557 971921505 528679023 831885092 251137936 898236741 680157571 273811913 569516036 655937395 852150368 377473810 658591975 293873326 281087812 982542708 617929894 674176772 529505498 965267567 527071900 446013967 390253742 949351182 268695950 817753953 893363495 991388692 741071976 318945993 173748175 539228767 759028716 241686040 553836310 254449531 220308420 931626792 364365250 984810958 835611525 909046506 297990321 707612613 138198059 500033390 788237539 174021314 369052694 410605591 962693245 830077412 906439882 126731966 539131393 851180080 915481213 645875935 668799216 956158728 982320167 436757530 204969135 671194961 537286039 666317835 594006684 468763071 959320870 821970921 255642324 861941165 474297755 159212156 488786711 496907953 582327388 729469739 269564947 274206170 991367079 346966030 516125024 292969046 784347436 432903340 148374728 421900027 587348843 757672982 566393812 371007910 754237993 869142254 158716741 205181767 382261141 782957878 701730508 602201395 874638087 665356074 224826724 194210750 714447121 581682856 357233928 794191322 434653955 756227039 408980653 820330768 694777456 435551260 127310894 387129058 408589570 715949054 208776858 483794514 821857782 672546388 280883868 549097144 666665154 429331049 799731729 500875281 719075196 513321987 535649469 815693960 872362665 309500598 212198382 268773482 606931413 399264769 245557841 430429733 288471555 930618489 493642493 277078144 259008944 499608405 828204795 688179993 875145488 241790308 259135612 667675633 610072927 651868675 163565474 248382754 382361377 802612826 888610041 285960326 757621393 214195072 898726519 623634245 685866062 333239508 910012743 385704041 762339089 188492362 314160841 229918157 754352729 515240630 315312447 278765165 824246503 192835323 744405545 855508781 344579843 748763243 609914618 352558371 450667872 179304621 197651834 375959644 964547265 772296629 878239263 762012869 225983072 102188008 740142050 664064196 858802934 475485652 116470318 729632237 153965363 201076996 648041596 618315134 152020578 793921284 557970382 348516505 156413506 773823124 641329119 708349781 725645632 943292657 472161525 914172303 423961471 992858958 165297243 411684084 687189859 164100258 649922886 810517394 215217368 470482834 558312311 268185325 882356741 148364546 415173716 496961472 896616872 585247753 811937034 677272847 388522027 506531794 958460398 168366983 968832855 766755502 153256499 518266027 628438935 158156106 991683397 691001979 533200644 146546462 319501373 664467972 605428849 455811701 687685049 226300546 348828035 280262025 682627319 914996141 320239256 553455102 870982877 695044189 565525608 480035641 599004617 205554340 231071864 235902777 982836603 172446275 843314236 821479362 354741555 465450834 235658200 571042992 124085033 985126561 819307501 314898425 275892525 263704526 486342369 458109259 294712856 749537781 956265437 617365967 488014586 789257930 888476031 648006065 426848420 980191978 197185785 587767229 236740301 617854908 204253768 173182017 398277439 505813280 302591217 864864972 950877119 827755724 910392550 195392581 973151348 906926819 228528250 224885388 224544191 750065268 658892966 335114136 175725690 516563318 226475524 226361573 315935130 262021964 698258553 184760888 689252072 379359544 782754833 783142204 376748210 368312665 905503713 912160604 315305556 935870300 955468982 955494478 132779019 424172099 877419041 377619702 424897789 344104493 427906556 470040131 877666483 220428778 520632923 526996757 238668806 997735222 922864058 432320202 105946684 355207382 284576895 234459193 762269817 142149881 256447150 197649161 359571197 874942373 224720013 170816350 901587830 818230969 255643195 692005870 766749093 174389155 813991492 834449711 901777073 265401389 778414047 331866102 643339720 286480581 864388046 463595283 219821485 575409761 569042682 707837046 292639231 943883250 670028434 251174581 632186594 285284093 166426587 344190172 763373119 517533571 325720325 243000580 782269540 427439547 288733430 530551684 302840814 236893437 982290559 788925946 174221089 116683640 181068818 437497543 399571966 645631167 267963497 202945785 115237989 483286381 545940503 548688939 521750689 631638088 297657482 382472483 457368151 828782208 922212296 230212931 525331763 783040966 526693098 227391938 608031129 565478200 168708675 317580279 490710380 539433571 330250541 656591889 257586479 709113789 675157426 180282193 980098888 880326436 335476817 771965666 747364571 729748501 810500941 912137400 309118962 981156832 507207110 592485454 955630249 124509147 807734238 247034301 782256548 668864674 588588633 293078740 195379272 684421721 377625530 835911403 728194105 290753718 731796684 844645642 775924988 734739139 197594780 865751983 604626800 814593829 843670740 891088259 914333071 419832169 205236401 514718118 172998824 814449131 241969506 403791802 753023117 736170024 367099350 271704490 819423185 514721871 603734596 141840391 236544689 284807338 606245031 878704352 110809069 344009070 407453422 773799936 791502975 606515449 275764033 345447126 332058601 136238124 548044684 782372315 637926992 292839263 698957320 336418107 757058775 834840780 854507819 355469934 443659439 689189503 311511274 362565859 124388146 286145602 825314476 985419167 511855166 730502216 272814283 607877146 579604284 855794543 176171620 754551261 452747409 843626977 527864375 920624299 173261005 127398303 862817144 714993674 854760784 203218747 802938943 441350541 346774068 124923835 242599705 660801342 783066952 673116121 286807044 295242991 175780228 269126619 224207446 488773862 325245795 406085351 890847676 705566174 248152818 201888200 508887591 925340556 643070491 570522268 359303729 995862161 211439194 818940442 400007938 637514718 211917977 381065224 357016801 985385226 774947760 365039860 708739573 442062765 494934820 681885128 848933385 691851077 668398661 767984086 674652350 305465892 699533021 944435522 124340042 878764961 516277073 179672970 889689517 680773444 361012746 915752936 294445359 289326769 637689916 347380680 171909132 837648444 202321785 349853174 719764224 753124119 827312089 883136522 600864934 337929521 797417010 653031157 674921042 616751738 827993937 673641311 554103747 150804412 339089277 921719825 733039353 167668135 979664590 883590970 786375954 886474113 893504963 929615756 780311466 696093125 810911570 498010145 885599136 160156021 703012589 325295816 499155961 186488359 252256505 573699725 902404297 582736330 895506773 500962132 852732972 569706730 416584496 537812809 864196917 300379443 256139008 107113311 459480141 473195549 275690930 970335404 699655476 147262446 195185557 773275431 504057394 546082640 870194615 537757438 918249230 450786509 594594683 361696206 964877377 540622071 293970275 561505780 243533496 140668191 136433201 797636168 470106988 190873461 687149817 220422966 594926056 384163552 919438246 583677304 838955182 777779344 379516756 755638285 899202452 156510631 857078693 833751664 304362960 364253335 647336932 829319859 385648396 568692813 321645452 653183783 156856389 503239689 742881080 198521340 595906905 884671818 324921065 853507536 392759144 264473002 221144204 657557836 591352547 775328954 929417817 459396751 240805646 540314137 120063856 333342230 773582924 627090475 875774175 317248902 194765095 821603243 697086877 834932716 378450735 447470376 958659055 158033275 161517981 128021254 504475466 133037682 137793652 363120957 477384808 513373751 609888224 545118995 438621739 296817534 682105306 850223309 502540779 463244401 182322418 181266236 377215291 936133497 644278191 481063745 358958540 976963345 923896361 459305918 912413156 757565450 538011196 206747411 554154910 480397150 416109153 596975925 557802013 372821581 508098272 967559336 981379699 553899569 131307398 748665731 115547171 544034133 978662989 325335203 766227058 944151888 877347154 824919051 168797724 620864709 797758042 363530507 222513019 957188666 911538032 715653361 447758946 307183784 475534012 199328028 990862440 178800164 192641163 912373034 641013932 527982975 752092327 265616925 977337054 263262871 101549909 740930418 607915926 986557790 155805438 679186978 155177658 491134385 383124365 650356412 815207633 851419589 466930403 231216399 193290107 689724214 291482297 399038720 981185547 508573632 929778455 400273941 730932628 267276412 322794214 990127590 423068991 583742375 971604901 839282865 830835320 220826023 776897325 251426607 131081520 464035118 597392832 401743313 119119240 372972250 867930251 109747002 122087165 516609616 672930593 850773953 222135375 467827588 611530655 104484395 284921723 566023848 499304540 457877749 598254440 139688236 129531754 614501518 613233110 600659169 433147578 722128201 269667663 453474952 211943992 917518314 540437927 885460048 850827860 431052781 683073642 502526992 356722217 413354079 553912702 195939774 806543534 141249760 134336106 926698981 242230216 327235806 219704460 148741106 379321713 637100867 987988535 967831417 534529353 493505681 523163755 372749799 811869672 441785794 727119360 898712474 633493945 141169632 239463341 321285592 799999264 619655915 771026305 365908606 920101104 390082418 268200355 342625664 868091644 381724984 813173085 322915356 634609586 948367018 599846709 374837771 180737789 766617162 404692370 422201275 880549307 543071144 234527840 544294095 801262595 957998789 510057354 775269775 341874081 781569214 864609525 564289185 657727494 553473610 987052867 208923228 563775187 340390429 561176471 359075257 419763871 966126130 881391212 202471697 446014137 551406362 886475073 596020531 366935581 454332821 386225809 167442839 641524545 995155959 258330619 993565884 215650854 985695913 987851437 155915754 522060884 316463690 269384593 977869968 118926816 604973804 113097809 611983736 177188669 657579009 147349570 452364781 615787562 491937278 363794733 494587073 460612082 466101002 200269612 345523591 333385893 963900011 525575538 567193089 185266964 238900249 696774635 284940340 285901369 180712009 722956647 686538862 797698371 297651841 397974383 222411398 701099864 998978268 261007869 323054344 194690798 359469750 328443032 941917583 812971300 327354471 173024334 564198864 202786649 948665904 650279901 410354202 455215798 857777971 844361527 955093820 901780803 586847309 673118591 547519835 860013105 320600820 635773971 956955591 831333667 713842541 749122339 341185189 843243007 221261142 281102329 222468356 963945786 572840816 148529723 166132821 251176435 612441046 649643846 439141062 931375540 278951967 781267044 961849534 495914819 970615324 458852763 411017022 356254967 637853529 949721831 412592049 973258578 212487201 887937518 721993160 699014685 906192024 928516988 430905223 543685890 630852671 161601155 875654187 439675856 830602423 217221412 298927191 364685640 592156122 718824150 505654684 969641132 241520725 714863337 723615735 690957894 250786641 763988020 547902105 649950339 526210530 300542554 588326178 507641473 606453841 508814907 608729535 313411052 338195399 806813389 290401677 803088620 467911497 678183193 792194180 778759250 988429819 680350420 314200586 275494377 853564621 333982702 723122968 947980290 371238203 884094366 947828069 639035746 720577988 813663988 641484342 416208285 910921189 787718073 646455066 700819917 149414087 902433464 568121760 292176521 412326978 737894712 731508672 443353019 614399262 492688060 455565785 687531191 291670454 820650512 504656017 543738564 994543613 620226039 495243965 431616379 205677891 415348708 927738123 902776823 875460969 548947357 305165314 342977659 584532662 655396420 212518433 862547907 240860679 265816539 355979360 132222706 425659387 949467624 766896998 416493928 588434166 241456127 140037344 152083416 219141353 806306863 625308711 645161686 386505272 446705653 605622809 749314018 735397914 104641602 611203757 687911401 338519328 372604010 932084968 208735576 920903568 293873502 860232740 616926190 569262767 791702735 127985706 717240101 503880216 760597635 904239621 413834436 644124170 250231597 794666003 981358169 609325723 194014634 262006379 370389645 311005622 234005817 131206828 990049107 787266484 624443425 178693582 371157921 580203234 644737165 901014033 772063647 420889979 882271902 892494719 285516086 291775621 163198571 542703605 984284081 879419650 801298180 568968593 744708364 951171835 708230080 348925513 770398488 375077140 123272211 421757220 590331605 383308878 359450228 681009164 124412686 655433964 847615417 809898515 602272443 978991142 153386923 449071228 538590731 896167299 665121122 595040687 294289352 798655214 249885611 157045551 890485867 349904422 582393898 121325911 846381732 224554366 953571661 607972127 390637942 153499805 296931259 129168243 894613443 701339804 226506347 283177776 695045702 212199552 293773596 295862149 717563084 975269976 362119522 550074453 511410568 392784565 972904709 111591634 145950349 704934699 250998354 970743556 855677542 948875060 771394733 570158081 346454555 983171905 705462781 958998634 703649560 852051537 231298646 234249086 990727658 225156242 251441117 199658593 501189871 298173283 413689052 972641544 224086834 439307894 533431145 229897340 708800508 840106760 956377979 526605726 843885393 905876642 239902218 103966744 176398242 310896561 774702816 510546696 152302079 479976456 179897624 942162430 113030622 107663717 664227731 402991903 576969550 248310487 814972149 862488533 192675270 373952772 210039422 476076947 496164515 265845028 997571073 997148390 547213077 372467766 526941194 554418448 414085775 134623098 614681827 971261214 864212704 635618915 108803260 606581026 689416094 248177075 619462312 571211958 310249208 948014479 466061682 919039408 352378777 728097800 427966869 479218957 142028097 119148074 405984820 403370641 385566852 215001350 677846853 503095668 421388069 543609942 970754402 508376887 993518753 696691287 782531261 808014815 379498883 598631046 760815688 465043284 158272234 966248372 580419419 542021428 570442953 878566704 213598870 780400536 185468555 349606880 457481287 371863726 353206978 520489943 673230222 574790740 208213934 732380351 105290214 530881709 556322130 324276600 428646044 338450229 208558060 850032692 377391578 116855773 828302276 822554897 310084163 596049530 116485775 165775370 567517459 965660349 602849412 633326900 193725285 229036550 774943188 860175364 539754363 428065920 607344636 713117219 654858120 784835210 387034712 549266347 733824763 198464406 222260410 865875608 643600026 844932182 145180284 686923453 796669003 411970132 205462723 767696481 769324120 980222329 980247080 737549415 310561085 974173734 515582847 793703476 987794747 873987429 421082295 840850687 915585955 357521698 247423713 815980311 781047294 937946405 168513304 976838390 536702415 676925095 313453709 317099627 718909474 458690827 913023488 972137788 473506004 112795588 427423927 561675727 172463235 828882754 823953197 503735179 425309331 969952327 748688263 993899177 237654679 930951328 667153236 739643027 909205301 153938676 327948090 528937272 515866461 465549189 925536740 915607252 734114196 108856970 639089653 351911870 899412861 608750944 859021223 281722697 727117714 320813382 462639812 819547565 141400793 100447080 990506172 526344250 140722306 916764069 974496563 987064585 788240123 528034656 764936901 862767602 367479110 957318222 251148349 952610269 695501560 180793239 939914861 635257451 861287155 416258354 851650690 363657818 395145041 168417964 933417386 581981451 722996742 342434817 797334806 934649991 893253160 276165798 737064753 695603333 325356707 107353806 311750304 999914583 285697124 415484681 267292943 838542750 895065062 541903094 410417820 268105333 275875122 691284698 948244251 226823080 222882724 668145135 191348335 773745858 275770145 456986186 651771095 917849134 168992855 473480874 482909691 668501468 192741246 469109914 622933665 956701936 752695479 294808486 798417628 445001954 480441308 972542675 390653718 400845010 222613588 667568603 528518907 658770192 713790259 932173105 668143124 498354193 438585118 577176057 834262601 641583375 466691381 521917423 905262341 135967957 112747614 795702638 806008362 448637928 934998687 309249146 875795561 118318845 291389150 445784972 566659410 845486994 490079739 395144321 952058168 677444512 259020352 333267513 980816233 912799371 104556669 381959544 381821389 707688030 513800369 485117799 822404341 125962153 135319872 296357898 832313397 454932828 190855651 277561591 295213111 724007445 701090645 311727668 127272352 711467420 674515143 724956842 569523087 177257960 224878520 889576097 409236730 135853401 601092255 167956649 659472232 404281463 891429520 561834514 949495609 932602458 368944050 725344379 255669168 392339442 151982935 296764425 704080325 808524916 774769659 240104897 323685322 244577757 296253839 952226289 585015592 150072660 109600532 152171844 665625829 614280417 194122305 914809242 531771120 424366015 759810648 955048101 385412328 876399631 415579063 839519287 814192962 795799974 266325828 168389955 446713940 461780259 290088482 131673605 358944059 439541381 887764569 571363921 609625491 311725665 167808720 544954204 950792004 489744448 563328888 482592228 824514966 407848002 746707452 483566529 563588265 536558235 282063609 501902939 799684913 393485180 757349791 148707193 252495500 497831335 416651326 994917916 179959903 958949013 734328524 589988824 602274324 165160629 170247143 288299867 725149185 663603502 619715842 753312207 130180501 170501971 382077345 886360709 892323397 921893783 249583471 921655728 904634397 930572807 701623801 232184816 377382751 564829133 902907564 880561370 485103067 879309372 150375332 136213540 338927957 897106499 780871012 225688968 101385274 592482260 665698176 183776243 257588462 936042831 627456180 270916293 419258911 769788021 228153087 258210819 491747903 820826545 692291500 182609965 806696589 155635224 721444810 416195080 758860367 885944150 750996041 374062850 495380439 576341132 838198722 881278984 973029023 510177669 460257200 857006569 389982721 650941553 749927392 821078429 607099853 200625692 921942362 134638552 954213263 395592560 950729568 145880578 565994334 248933969 988291101 326847256 526781951 280301393 261884482 242269808 857896497 330178998 962108001 385376637 570188561 564090764 267903262 135178578 998910032 363361057 230659412 136387792 138305633 693477529 336420254 559552746 732518252 229418455 888851969 599395510 720156190 927777589 859689631 289292345 620220149 627934939 638411337 949031304 679124696 916972667 192978951 841355982 462643176 460510458 761034782 103435390 746349746 362233975 288011231 938477428 221501034 236349370 605362232 252801932 298660755 651832785 454816884 184005589 644658427 686224155 947954947 626052907 289845085 968184529 299216763 652796641 426320998 951552895 988363096 655329669 226171969 362586610 522622872 175784838 582569958 825464271 880179175 360392893 627418433 204887013 400167247 701625727 862525576 596332264 537578862 992739048 735230379 641651194 251952397 664091559 901769766 321485160 433419137 404584906 678620605 147555843 125191027 645324233 108187742 782619254 545693224 172545103 884470818 370427268 101679048 383252650 793604307 978217933 506296172 798360557 594091706 633618023 910208265 361527673 767929577 392108074 344379505 497574480 623110025 420432768 274642288 362756031 821111882 689524791 837459842 641629468 513393131 720487921 723725282 730220932 686028472 465499412 260559040 973045772 346675997 789613366 991678437 197791177 645917222 360178043 738177756 984866160 816773060 576338383 961533320 908614886 246906028 330916750 252349127 137386423 306034280 270122842 132739296 145224142 245693011 176400744 206192364 804604118 630974295 806101749 962571854 934508532 127122800 991420516 227933743 798268482 468032337 231903304 611715969 751485923 476489688 517705417 432191087 637804158 393424661 515876747 981589704 751202540 948301884 608606265 885560634 624505962 469048369 847002368 843513855 437842508 613959935 403949948 337915141 916572226 931937887 658657973 739927069 349380425 331231273 974044482 412949065 384751974 843016115 498363429 727483949 591140114 132822156 931435695 467750520 653614865 251716295 718471238 640056855 511064491 542658945 912831656 951843711 876066671 437698225 619664322 810257967 326653389 573077934 350707926 559180851 200807663 716934853 767794366 122219691 420534266 143743023 307484872 980265078 797777626 690714343 455135367 388928179 656031973 746719223 556688105 975379980 983809035 622178644 328332757 515812767 560724499 682320071 509828413 258676060 736893827 869729830 911915073 283665148 743301313 584675397 674881916 242484143 480244899 446789467 498218390 501877816 716093645 781795738 150365944 773669576 446511598 936848268 239147747 850203849 580206804 423119541 902763762 542518705 679447728 378236220 982940413 729228100 736884000 477711122 108829745 625064671 324578208 366246053 146986056 631948275 104694634 174555297 542680635 547031728 494978753 196988950 753889980 187822070 107601573 475341372 530336457 700081446 109536347 925895583 133434640 531015303 982577872 851487159 670599906 859813107 622300454 868372746 637451676 721853033 307882148 251965566 113162126 753245751 264808402 298285566 743139907 649514750 909803299 645373870 890445999 899621753 851637317 246074527 292101674 243827905 927527338 181998144 346779654 395953279 944932635 638414946 115586120 644735982 982137915 746171068 847238390 530752658 659609022 455338358 602129498 909291106 599566689 532753440 800209570 431226808 493805254 106811189 340029497 214264420 336681049 123697060 852533998 230408617 920401471 260776189 536508584 524762075 647128634 972307560 524927929 903963841 793302513 400413680 833039280 858545645 938736515 793097559 273703607 645126144 249240743 574304255 894194206 910110090 102666270 185949399 428694696 897552516 591653323 430015036 643904920 835800184 913273925 119176137 817310638 461093252 510743903 899950776 622607333 609562809 868837985 162439052 795687457 412256291 842584394 992186265 637910557 867293571 619067588 978861804 404591410 313471698 332435760 757321178 248185710 556453306 264158586 361718405 785692247 509344069 394872805 666077057 552492627 935234420 774108734 800221006 434076255 499223700 403273326 141081466 554580505 252923826 156075978 491659776 897424919 683458592 769758312 126283222 668145189 606340554 224726308 256026509 868536654 934297789 363036393 879884114 523247259 947010977 524911008 129386334 561713040 795797069 941018968 532667282 285032226 985612370 231550445 195914663 420214275 414795457 410402802 302866802 726338280 274083194 145042282 167482352 401912237 442768912 921584843 247387261 154808313 816182418 279430503 612170405 125523916 835943639 127529704 788844096 835896672 463013653 705943947 133940485 190406586 837865694 433859352 764207092 871100939 411123172 723151483 754210705 133612793 223284078 684133481 152791901 121379059 472928973 488801291 902424101 336316195 184844350 522184476 409555928 325742936 468012445 952870595 917711083 188196442 826701244 595233404 516775800 750310609 137881083 553481886 733277871 903863614 463646268 140023803 636868733 509743577 883331934 732509964 680978096 589152521 996371405 333329904 150574545 771060919 852814490 371073986 338575054 780426821 246061984 163115711 950108483 178358308 601978795 641695726 233313788 741183385 370424852 607316428 467349485 854910286 993418533 263998514 147672160 465285119 205929743 335530735 410404737 530378942 877751403 437444722 819631563 577248471 732535080 348181263 919681713 313751672 275822579 290235848 806488882 681236612 400516447 778380502 811059863 247986870 535747449 572883466 707359756 588774848 899423163 790131879 867205745 340202637 108639925 725338110 909465083 195291202 443328547 396201898 620196663 551957236 814265360 539716404 610656605 603922055 296867957 803104813 982289634 293810883 891439291 369977379 102078838 322350350 117909083 356534540 448685408 119454402 750054855 304031048 506617174 883488828 342396755 852446281 676939881 749376766 383882231 280919283 574549882 984808681 806676246 328364279 650106494 241111939 659820393 677147806 820087070 982277865 304487549 188617513 885478516 789717956 769309615 749537273 688524872 837738604 348753877 348742962 936303898 243109029 889860478 493774307 992752960 432381512 523434713 406837085 784064050 208949369 971645126 298397586 728248244 422482989 449624410 860367940 375678195 818235629 330865807 910006819 215707680 259755835 559152877 325031105 757803337 252966409 297266043 769925626 457245724 727267645 850069502 288578369 717656744 382069226 540560266 768052512 938631839 470082879 653797875 469676450 648494364 908354883 890306227 873027856 967700574 278948939 911227807 460944306 487011422 138517192 234028880 156710911 609050348 542558800 267695900 916832265 686740867 271116160 144352606 513381136 333735682 191032678 234530569 176814344 911691885 207673094 173430004 290078409 562665082 755867301 796889059 142616467 602070276 791432299 752305735 598605016 706639842 912532387 269863738 267477494 598967683 587503347 254182881 247636147 694089548 578336505 419348927 970684151 716669828 184556114 785219535 942299078 824164782 952575493 833766315 907458746 771280463 374267592 721013047 671969498 972174498 164541785 920877709 187337348 885555648 328704416 198341905 777061693 712415435 164689475 832183341 992395822 612072149 364513537 872336465 346926096 805439823 663137351 187732939 972215592 125968516 279026459 347600282 732552726 457647082 692114621 828107250 903700031 141126945 979778257 396951246 619105636 210561096 152018283 426063471 321027703 597382161 877465844 675156541 254906285 345968525 706895196 523085611 499115194 459151338 456491220 451700832 588825034 207450303 397027512 519524193 623050402 237814896 262845828 289832412 941791863 351868636 122467766 202572946 521055201 224273027 987372197 786542866 649170706 668095143 500934980 975369160 975208878 744545953 937340106 470556185 987077308 143523561 546497443 738237182 407228064 433660992 781838710 626109120 448334055 438883478 612698037 885289725 757132003 841376039 792007527 766564100 291988220 505655419 585052151 852558214 920545936 914772150 814367338 742889863 597351618 673276145 620354494 141907226 607139090 177078622 515849250 841973602 707507357 253809120 454577808 173581788 546037788 188651691 276334725 990390029 746899121 415528451 574476979 659191604 409949839 401128320 826450129 782214542 796746081 792618850 694408126 148683737 814862723 810734968 943381109 710406576 699702123 842781500 626586701 632538653 231096529 821844892 951020183 858799863 550714938 568973414 545915857 568520856 787189316 898047508 340422552 579448024 834335145 924103731 805833443 180713584 965786490 209445672 899721861 900494936 267808707 347865289 865221501 491805771 392693809 791572014 417474948 153962396 640604338 156902631 249499035 529481504 292553688 864308844 961784092 544940889 779729072 399411794 117641574 648242903 717608158 935830182 427083816 557910740 857705696 131105751 380602483 486693292 790988890 755209211 992350168 838956287 310548676 453854336 989421093 962319760 236217599 785672725 829592769 784247193 893870038 721936745 322301657 209385489 396428603 676195805 254758414 145963684 656528313 183725692 143571538 387483857 374508751 947033791 547662418 995279535 303290180 547241647 802817087 267190440 362187672 881777606 165828241 140526905 925513656 234895542 544173284 285584846 972174546 811216588 592469858 493947542 114016655 298327725 791687912 429409166 300564292 837071361 676547634 957280982 707948834 886058646 288800881 686882858 653911790 590497410 853879873 492429868 232512783 410665338 736293389 985175411 865442494 451766553 523541493 309524445 465134968 595334659 403105465 766955094 228518147 283010773 100629608 637368882 403734683 627380047 967285766 290485823 850592099 390719592 238377880 958346705 165101463 751798509 747477113 219366255 823620404 196241552 414665547 491641423 333248832 766957321 224796376 108336992 243489144 822494954 552164469 753723384 509660932 769859033 388115072 900220179 175770823 681219339 210707236 634414637 200480357 328000860 623733692 525778361 309510442 265619026 131167915 342043175 751788292 576197126 287238935 861136978 823950252 500533098 917477112 877109216 621627836 906617483 877056964 615951029 767720484 137829293 750013386 927777446 245997112 719421330 554980596 499882099 310041015 735315508 469697452 985132563 263347663 841266536 456267895 869704116 707951061 396396685 135415010 704685266 186313061 586860101 751312211 221381010 821416271 598955256 590497217 233444067 152252466 222913207 148532759 119896501 740488570 136580584 416115111 249674655 729644600 220703541 284706055 750306425 119991492 338930982 667459608 230633057 417398503 769804117 507235498 927461468 250971903 137691929 702616362 374581878 952421971 470480787 649867174 794590158 432348117 209390556 688506417 556276565 866121695 281192463 376824287 549392496 698861236 833933931 907652887 433268616 484119992 232193852 781198271 735720819 480648111 591168867 395887852 919586605 705655137 407985964 532196074 461430982 546613142 624769123 989115954 311002445 803868569 357608248 349671295 369688793 686991737 372009205 227800286 402970309 759762375 409682674 105698270 232478850 455705992 156156707 416592202 581947695 607461816 667027993 683091576 691644477 908024506 233961493 919268927 108300699 641594407 215437101 588728705 199483785 976590757 467278066 679788491 678858516 984201755 116529963 856583637 899078766 931092611 775022267 328669326 157105772 839387654 143191370 658487333 603261631 183665170 717022848 256219707 804067337 757278613 811294556 648283191 495728044 518428122 960809420 252103248 486506722 755281748 882907719 442168437 226442848 172946065 559789481 228121531 226713698 939018408 103115613 262945197 464328507 178729346 213959459 253824267 281948062 407028033 368960084 616370015 261262107 508146303 935045215 895129735 284110724 958081093 294221325 949080415 517281697 202766850 218461394 333669694 531316759 562964389 582473700 824943319 289260016 928274750 680238759 658942861 772356386 536577104 862808972 616876496 605682497 386355700 723280765 612892490 385657011 322477011 392075228 470437079 913963242 214980904 768812489 489883311 711739317 973887112 823956398 621058143 977891378 124736320 444746542 133764745 559376585 515860388 543169777 163167926 337324473 281715565 804767917 369344019 774574431 127345984 578570330 304170647 257105228 502180852 927867006 891504152 218946253 133613454 233273093 627512751 303961559 702327467 531566519 131437784 706035121 761297100 850344125 542758536 179192020 187339312 604380223 769529789 457937126 652375513 912358539 500402044 616049835 359725018 634786205 973670195 241990057 117321237 832157831 961782259 579720316 530118575 335472849 245373785 331430458 707325255 495076960 900204508 172470200 551100423 709440232 325001570 598807950 894426979 551859043 210061483 902642389 249203030 919385828 358485492 614498926 514695174 936046886 306391539 627286013 483022643 338178167 520367602 161818351 325197282 909053708 402359856 866209317 209014360 471217893 521599200 509518638 335771237 349564112 894871675 728733313 197829704 358559174 892748792 123958142 732732312 458469547 333360078 555949238 838116407 358780532 498129292 390622455 390908459 953627281 775214614 360889783 413224103 593463227 648141865 850964691 161166854 832581222 491680098 863359692 226993739 105241209 315513269 722346570 838311115 572727307 614118308 827801503 285685099 915214855 912586635 160450090 826536619 818468418 430958849 724371800 864969690 650445647 673226500 108833731 657966165 884706805 734848402 905535800 669026170 692221975 300150365 731280170 611632418 353006539 117371509 959087315 375076966 678329564 164164264 700380662 686695671 605077393 515668617 519089156 884631043 270834597 549863676 791129297 171658764 350330191 455996597 832593471 913231269 861096356 877670313 265593229 542034305 325849255 747593411 786145594 684906088 592118613 762307980 574423766 329174733 575797241 820605427 302229915 894101279 770659353 858876839 990590067 359324659 895720795 581110779 709778004 382363246 938340412 562487675 799099489 753401073 734777290 376747353 486409767 550232239 207326342 264035434 492688561 356015170 726889901 422394638 537845613 792005528 681820091 418566832 259741447 618089992 351450427 407082256 203941473 567117353 240943563 201978870 224258897 754470206 459453950 794975254 374592666 846349169 770556484 901235089 757938479 165022532 104997694 526428565 364823702 885998082 125162710 706902317 494164371 907949734 593536004 796238246 163499620 734190610 323504242 215211290 411341111 306505744 349593991 536836725 558211908 807775791 714955143 796100266 764371119 251845607 623972147 570839247 413445278 883742676 464551531 794289130 268885328 972306649 587558275 609014997 691902563 960095921 808275000 643071600 923262028 326195098 447380899 411593115 878673040 579580994 293341609 698661913 812157212 562563181 751469752 578661789 960737274 666242307 831707515 217100992 312958198 666162465 172968898 393928882 876281730 330167441 339335730 971986605 159819583 334789158 458119728 993238231 612672091 931488177 510004558 356643202 202250552 540186183 966487992 969567487 351689542 687762714 431413969 620104176 256949551 716510741 779843413 254170614 850772841 190519315 224944391 634114525 980615675 545131004 128645797 875563181 949021183 376304004 305323503 893241651 385318115 371052114 236983468 598297164 411847028 691369096 160716482 759519861 200192030 721636514 291148098 759202140 604780916 796879964 568201101 246128024 538449850 540454880 251952256 742198170 254762577 121469977 438298316 304884894 171719136 463727764 727762664 868215004 187364659 835716612 870325352 373324431 734973537 210973584 448736214 279316619 896282535 730133049 566276185 748568168 541881395 972233980 336922232 796731458 758073296 134662404 870669164 537843652 366234640 614644989 219131125 759339356 206536860 427773683 503748610 841930244 501236013 689621986 309529509 366451976 913149381 148232957 171027157 389427810 408537412 996699582 530140485 794030072 326524669 312981249 843675438 319494336 624393615 362840771 214393995 999067918 952769225 215609803 573762737 301755292 257555141 256825013 983705429 248803575 265329528 564196609 233473110 759830985 430717530 241388616 182793823 255369650 489621583 441158924 295282699 987112651 159217727 610456456 926210706 291746441 738797243 270950533 269109790 289457876 347356865 492195441 626665343 231926019 588199814 857401452 372990134 676664226 834876769 305240517 922693265 974149633 919298074 960704446 880453473 376272907 726197901 681852754 661604599 656100577 828305165 120215218 825559738 258710093 562586827 251839183 883454470 936639805 540120777 730776801 286440219 949352310 546876036 117948785 808136752 784509333 115913621 473496984 673391255 617116505 910850568 371152996 723726208 776364663 288093161 964154922 132704585 288051694 148066175 506947799 447847146 675350538 326667855 120337297 187221792 667619501 338922328 711466517 578046258 678863542 481452172 868317157 113429486 235642859 916566213 753349384 784396332 176547028 348810754 287544948 955756799 962830150 313870276 239322752 325052109 608686420 155749361 593661472 391355694 277874972 768254869 751403507 666080887 361045092 442792764 143530401 907898082 616994722 400082865 498568927 650909762 984828980 423710482 165954576 757192723 250450060 397284870 265705543 191972233 274068321 437855420 375207642 445377545 555891935 556643587 192704635 893618910 751796523 550468800 460154084 231031256 603186758 486101080 362156612 670611477 954997155 505126489 302635919 335120157 263250377 198913903 854179198 316209655 483505396 311365472 536926860 382450307 550486432 892306918 690546646 232462814 558832361 898963191 767401201 475509059 379916279 742820929 983738244 345772337 100217015 438730119 518711095 751665453 858778198 924201730 890842119 312426209 910847413 771703130 504929690 684423866 169201109 863779876 989611501 998712113 755611272 832981792 338539988 122295140 746560355 336576663 395959200 676365189 919665358 833528029 907944797 290246861 399373713 951490583 466830886 151705815 920519798 722071621 567540319 751702983 822595831 475673487 205564228 928889821 910776704 530553225 909883430 946571168 890026648 435526893 757012640 111631439 619449729 204146716 622109510 456538376 136704058 231986254 188960965 286183429 426196954 774714146 496336157 118882273 553006496 912685988 785571638 594840443 383843290 205310442 177802323 115868767 348199178 560849403 437267530 873450085 855905207 223249906 690254516 522832160 645438814 352790862 343649822 893264351 136023630 829915684 303911381 251193048 341355353 333305162 642706681 401328831 679863621 245589686 459395827 181055784 257479234 828035046 383880910 452313917 682637635 363434225 581423075 877200259 801229821 814872568 231841660 169278930 355840432 657760935 146032934 871365504 956422575 921157302 733499539 982458924 475466421 720690802 491062873 927480618 605840472 312174981 525271215 793702558 974448259 110800687 873086129 692511707 356226354 725310861 229279190 945021329 929055469 878044649 287298987 190445251 755421798 888584058 664295385 486273263 306355959 422278840 686110789 183964671 770107819 648447139 672164815 562282433 939533547 338842022 551370345 769117493 471233651 433699718 755948483 736771552 654870821 657590113 286483359 800519853 747916862 853091774 911970343 934027934 477932387 760057784 544672255 122389089 589113792 125979111 633877449 132679561 201348460 286483015 501141853 518864777 565488426 672412307 829190323 603293196 539400759 463333348 230247799 275120390 834200626 456495284 756543115 538642654 835465396 873084254 885060977 558985044 807006919 979880249 260045781 433380139 814663414 572628894 556680878 173722826 885089678 255478557 711999717 504176641 839986455 354052133 943210234 875964297 299250612 844868726 539295991 806382693 851805105 246060025 275996512 341857247 350808977 165465307 511876357 903351297 622339311 303180074 846858906 933223646 252116879 924063930 732709343 282080967 104594188 601048524 715017645 850342666 199272133 944499635 127642007 396456809 463902938 433003752 770871351 431533253 197496930 520986955 234944754 380272790 674334713 298606434 873024275 411169274 501753731 697086222 323455421 715187922 986283776 381782716 401083413 775521970 316983005 814252756 973464929 987546183 755661832 462946859 158846592 484868723 143464216 270524525 600204543 510494147 419354530 966075054 222962165 894506668 696990806 167485665 506881270 730001641 951400966 428003552 226414454 971826477 654004687 508237768 945918910 832461119 824291591 139293699 899025134 402748413 652960399 558398618 940571196 132082480 802288868 207659836 688505427 702884323 329982501 496250905 324087052 765098235 879665376 383209798 724860392 360497846 939535560 603873388 861513818 878612224 424468143 978918702 563746434 815060088 349992995 624273945 548493392 910605815 349943597 247772280 410265600 589288178 794493125 247946955 732687970 465567642 185123056 143809816 862782301 771197697 647886038 368201703 967038500 178975115 214796690 832764792 977841745 508425568 155858295 903608425 326442613 866529383 530861198 103915742 560752065 536744332 420034465 734641070 588192317 492116259 473854666 829396214 282327288 863782671 190333483 331540231 853456829 722343539 363925019 439497422 404176826 929201717 119154815 582536468 762146578 450330249 976937678 106832448 240901839 841008630 579016694 539270247 173715817 247635930 247061335 674999675 692360124 255699043 152587870 620845325 751169184 635413161 809983999 807060092 271382872 616336622 573695449 189798999 973202203 688383335 380308583 620789027 810826091 370086364 102083111 118163852 952307534 442759626 746812892 136392569 166233541 915042606 291053086 731391461 448620036 527431458 279349725 950844970 809128749 218249114 540704654 157829762 156561599 665618066 763868341 797710546 335654337 224251188 713954176 101614986 382620817 190643277 536125672 714171111 521055110 206324361 551764428 741334753 577909198 364880155 325508424 527526046 210518887 673031540 201898523 286218819 566570225 103299753 671048406 794475949 201109827 995570554 246528294 708991084 723357398 995732762 359412516 510616640 560640627 546986941 505827207 381325515 176614479 930103998 123632726 396190563 445505735 788013954 740861162 514694314 647290073 393073757 258270746 447227456 337455667 359092802 246802826 768228830 289195416 890601342 566475913 806369226 999417549 444058620 213241284 848513202 173512460 456833925 969761997 745388394 328555777 930840924 254024748 660930440 864165034 545133030 148443733 581652306 856501247 802966766 839117311 633273887 848482837 745259318 275556913 597225415 394923445 894780099 793156718 756118236 578966109 963389792 350285802 734446344 144776094 500772524 892711518 597471416 868548523 581645886 811618993 500661986 352042588 343068246 237993564 401277299 514937348 518636343 784932247 347270330 595737954 497328774 992242456 185117293 416918921 239691465 762576681 106030435 953564835 894638929 291801765 736974997 393132636 156443782 832002007 254848285 736760257 470491633 282674866 132170913 942939308 749107169 920206839 397730711 201725063 735948066 647343234 810332936 772707073 740971960 264260236 512554421 862824067 945023017 729763979 143458311 565024652 511371879 339124480 747645390 509563951 275302327 962895956 858815446 811986447 174961436 713275417 681102383 155846189 932051313 528769138 635421132 789555522 671773401 981192735 215219458 837267069 619964299 672579317 428379382 913132109 281046805 311173792 869220131 400562264 995534963 323708165 342095668 492565186 303045171 685683888 893755971 591030583 562560299 758491616 987148622 976989797 987729518 276249387 497224764 554116254 968792150 694290588 972677155 383290344 565996294 784795060 992512771 925585581 636833950 802922963 662209334 996338975 771362015 340196039 636086238 942401170 401092699 927097557 195810546 221622759 662582426 205406954 314588508 834412545 552783499 610417503 412568455 693801421 841024756 128784124 252991696 777659177 429950821 618036556 697947640 182849729 852900154 285147845 421036302 307587196 528758180 198016307 542780806 805389163 635672133 156744985 324638900 579066991 986960824 186511951 268807516 302733633 383201099 239050195 201630406 620726701 927303567 170725047 529405158 177062949 690564813 798204305 302424143 348412027 209956499 751488056 163308442 597770923 116539216 366851199 263985564 484561119 484008901 881535100 993538498 444886117 614364149 178562032 551190267 847900676 272762192 453421363 917640558 484745915 826460996 633466528 391373322 390753088 585219942 273565499 371557434 433221692 258048958 327299439 332009876 644297862 888443704 624062797 484476811 157261988 756026974 971761837 920066159 385364553 906906081 178391372 167488728 881819274 676192847 663096447 346633940 650642366 260247625 696020788 380134225 541059900 631839027 663574813 235328824 548315168 541102688 431444853 648980842 546027609 402644474 770826007 156548675 856253557 917757392 159718044 672833535 529548264 371988399 596942313 513752496 564782469 745551691 378077756 229139023 470160309 549895109 686394001 427992523 373790537 628628384 615945275 936162316 522109571 985468456 776791327 199711095 310730344 942629121 469559779 167596157 581487784 337991892 999195555 476467629 414487552 342386083 621247089 429990829 722110702 606667633 679987333 645509303 185838558 428157441 150536754 169441366 112187415 621553371 171207675 953440026 666474173 873498689 656274537 643864264 281154056 764216380 272359943 774611195 278762616 154014221 569724603 749853880 603110758 771117467 787289099 243021192 780010417 497734925 300992321 653924707 678146971 147057729 874464462 880470946 481723478 886849088 862309326 233851890 562601311 710401239 211629578 110526922 906133722 182863090 220903052 934549703 545786889 783089587 753570829 401220990 439777865 865860056 887330917 147708529 252146348 645427677 411909957 660972922 316259027 222946716 994135401 279662970 804351022 100309355 720169738 968394624 560614325 252153106 633392056 155925064 863860248 367012666 830671659 624705635 654683043 320150802 722878402 620198504 289093909 871885975 922914991 949985442 748587647 613088905 755639638 658123014 524048209 910643679 880133584 618494513 866632076 716237330 475891595 389247730 408084753 196411649 521644872 437821297 467153985 155046148 868555929 271378322 837852925 566483893 497110406 175096808 546698886 340953639 191427758 746901113 305746339 780337884 201451687 818733344 854565467 961907332 392325794 855824358 926205138 486276040 967847798 608875304 147070806 456302253 849985805 979964627 228189437 169459354 866858590 370285608 694304171 375797932 150635018 695877564 605409129 949261974 982341330 672746481 383566311 922259943 359732171 338413278 835962940 987337453 645196883 230234218 533742878 937455336 532486943 681266843 578087277 517663627 417080643 317781962 854239670 207252861 235086596 704152197 560612066 740552241 530959430 267312417 190944871 661091394 872571493 193358514 362048804 308567776 774845967 659714851 897230857 173234588 966194116 294164524 684941252 970025265 691655052 577624279 553056076 171234975 721569726 517202215 838709105 696808987 886606885 817426760 957281331 740749195 731234357 112240123 857019676 147487969 467792693 859927741 679486336 637564562 293197149 672839993 761814836 436983452 719293223 240514532 703633400 509918852 990682129 802966037 661568473 976961021 523879694 785908640 711781173 315939594 382504180 821210971 552518917 597460672 845346222 583297275 620369217 756483251 166640404 223580577 933326710 127733569 242746426 216742684 436026785 246406515 633124244 934236751 831803888 232903199 855344192 143493194 295178679 553944142 760759008 255767856 922290006 623578285 449579074 230222888 653076033 166194372 490400822 631365752 620676290 323866682 626101136 853821944 658407846 820612444 891656367 838043032 871862164 275936873 581629021 949157904 135406128 424325320 881779333 406260136 892430709 528092971 584294720 849616789 718984297 271177176 655075171 353131497 708240949 496000300 929122052 103193726 694901231 528717915 739712388 802592778 581444289 912906022 415823759 683154449 307257426 409827047 533360520 253010333 804284506 727723722 756219963 719098138 230260615 355619799 372337537 842630083 909188783 588382290 935044630 866672116 578212096 576292156 140142509 533910993 410071204 251876844 144129513 683976520 928841447 302074902 989460901 825155180 152373751 293733285 141550820 653167207 741827548 766461178 890253400 602891574 769557509 161400705 992060041 479517692 939092731 953873706 384449911 827778668 129914119 566736904 593887295 390147676 527792981 264382379 460209011 648976456 828339149 177281652 991076966 507894133 243616028 713088613 402481349 393588367 679296679 381324692 173867279 473907818 956816090 554249665 924073948 169461442 316269773 265828521 610187616 109576706 714434711 740016754 595216721 599051367 998240453 210185869 712364560 465092621 918020809 957041268 852699219 640294268 665024814 548490159 277327698 236300206 369643660 705456436 125528317 122428839 793259248 784593034 530217594 566499369 873113473 221126772 367315063 907522147 261336796 471217902 336929675 653245276 376284875 356592736 400843091 315979097 409791318 625337305 929645921 311319747 960008899 270405500 624093795 835230360 368476034 914013029 524074568 782403510 848296199 557234120 744066678 547723499 925389310 623994180 697020292 582247820 463908009 387933838 710733270 773372754 599354051 963123074 845566053 873130657 901227695 104733156 675399509 190643530 453974766 815851126 166487867 254619310 406513739 599219522 716245455 743760399 383834225 702494005 126318474 375272783 702829435 150046678 759623706 471851642 489065002 799685131 646175998 858754745 179741087 154655639 638405495 560187131 414380657 667117582 604525412 116523125 593853612 244430284 129707278 999112164 492262496 355365196 740202688 782230324 581336810 784851238 832935012 741604577 783985476 132661502 805410989 454361777 329292299 448965996 397284548 819667833 604398773 279283673 447465996 379358444 599704010 118974887 989626304 383090263 763303195 255377356 734973319 165769861 401392049 524199890 172754053 385913853 891820516 474945744 293918820 226382316 781481678 503663002 708941833 911629108 211123468 209958479 701229946 738097908 620638716 269820377 970700721 475159842 769614342 290086907 847830443 278470709 206991812 951486607 614167569 588923760 513608645 785712759 177138213 472545168 967378074 271638284 964820351 716561283 129400709 181003119 267735177 480186567 771676261 594693584 402097155 429636046 521219304 602467622 811902132 112548857 261843789 374519678 336781320 125247904 954508749 471529890 111308152 258755416 728832128 901432708 965574519 732459311 495349391 528631885 851452289 531109705 602470933 371133946 999375316 689337400 189670475 613649030 367140109 515725209 366327033 106941753 393376516 639513845 350021734 148332875 799175642 935788586 730753476 755463828 115057742 982824438 349320794 776366501 748713961 243760516 421655529 864605459 490451805 703540514 271866926 770694756 844282062 209027894 920644906 359906161 119072913 700260982 791235981 101043807 601591783 771226124 444621014 262726112 131657842 815443018 673450834 232410856 895191801 958661534 468064661 183949570 146581870 204187193 550882190 158706454 890906114 829599357 387063409 346819537 277667733 414187471 572729089 837746470 393030240 654974518 533691482 836639138 596821977 140878012 776009450 854606630 394024548 185452722 981703990 187492863 720993949 112509897 468116635 343015897 335398750 370612863 790518440 738770297 172203408 889669950 117244937 467885267 996753402 709287780 837216892 530612945 544885818 981170476 573039290 980041921 496303607 826375632 532355195 935488453 717279662 853987557 157740936 894646431 344664916 964720571 387842985 692580241 254578974 909607192 715150449 834576402 978043811 144513140 711656170 796885300 969435871 714971232 187581542 359009781 402718904 569370420 822072680 234888911 638544984 267748166 171318723 136943175 296736687 647891650 554469697 186289437 354091347 707372662 265265506 721134816 752083237 383914948 535674840 129086762 291129732 366283004 691745470 464975286 737535956 753018557 544221103 260817059 477552817 475178022 770139995 597619789 996800723 441799037 513700251 318846617 970368814 635219236 892399746 577852882 402749583 192660819 525006197 908245566 481929747 741739006 130570447 618479902 257327745 229169648 674931371 296148601 760135806 203148543 156337166 467168683 213277366 557586923 216607966 939282507 632552491 729335878 422231716 694670865 183186419 710596787 342856887 474097541 748789186 578901650 856068395 518862748 526382034 933748742 807586883 371339399 203058318 540615644 911085896 500686793 666079300 644528320 120628840 411108520 245274449 362279954 942144738 865946659 954325218 467477241 843067488 853256914 132964607 818860202 904437477 863147092 504619478 428535032 314326844 318181371 848406291 486995248 506323873 400118470 887298098 204435285 877806097 986989115 182156236 532173561 328151184 230403829 111813194 152214240 750317301 912034303 423786577 845740341 419842981 395672021 916562754 698120561 857254952 960796477 635279562 571772634 451355646 172825329 110983382 438070016 557015120 332048782 465750084 922681071 283851216 234665319 156379155 420670416 379427069 835234072 708182815 951716019 976163575 747505030 445379967 468646512 821263764 758056511 959508197 233342243 870524027 240724680 743661763 760764689 130106789 219287719 782902238 347899880 784621233 213822012 801771481 120216774 125767887 217899497 770987157 281880894 295991335 800085465 922498780 580043391 630277025 829878384 183459222 744699668 492388548 721463946 752800768 405305235 605784510 649739553 662826120 256847512 665845010 425699227 703673923 864659527 166159325 870357811 970182402 924459171 830250555 888964056 778048415 836065533 893728786 692473755 226452375 766394206 312099038 906371331 631531929 382337221 703580030 983283138 301833580 605962715 369239884 107377842 548400982 780540717 313433539 772435631 137589292 947199806 654984867 808930899 708398210 899668224 586922637 912216820 950511446 458356067 804917347 257232256 752346046 110435690 476568377 684425805 817022352 509083803 915660433 990317439 939134745 265727686 887033195 483476742 993194533 426139051 391892852 291828941 413839499 728126381 270903022 973262790 470534525 937341327 560616372 806442222 606534605 926108903 243123150 271371262 109969306 303168727 744842752 759404935 404078200 808792733 347348959 797768522 878363113 454423158 815574796 484119995 502458524 717998611 476859963 576799785 829078082 275876020 593625103 578755450 513374014 326543789 901949229 345923090 157618097 882380413 106950320 947862331 355379434 465851837 568984317 821086464 109547105 115160702 259220147 889042561 874365903 243688067 146858450 738716922 402866252 537938751 369178789 271785258 555061204 155380224 805110669 864419989 926570091 935149574 633718963 657345006 337573615 141661440 146074750 288276060 727190550 215113050 128150670 471280423 742695430 306909905 948349108 780641328 822362545 735861967 563312118 149530206 758681936 404003881 840638233 610531588 613639870 857418247 951265812 862789264 781522351 666338387 595033550 175261047 926371889 373651893 623332300 496069762 332479648 328478566 457859034 904632673 805486888 276605279 650258624 968750263 438204183 930213622 301911455 510905351 610762110 737993982 246247180 805657575 932221725 375388034 905356055 636854003 616564834 653932223 620547860 315535423 222999794 836533045 718122666 818703103 767609586 743675016 148767266 638919343 280548113 852847373 954634297 712552819 547489110 580677056 790268582 464842951 949205256 735058658 910699395 651953702 274050773 114984795 791296820 131421757 350711952 330717143 985008143 287948782 843263735 372572662 408456315 486576945 905724513 551143226 479380382 268402724 489583325 244951446 528739969 300539009 122876467 304484809 999991694 816046106 768390012 479364220 673308621 566358414 116259951 639614261 765323029 258601132 666205269 969533458 568109518 772398908 680886214 832678836 719554631 230028278 610567543 557048277 476641451 683544445 306223534 602349694 225518111 810310080 373204370 759800299 409731149 259009289 457145501 734241830 210746681 156560633 873253153 384386174 541477089 295234391 151711449 672998552 922785273 615508537 428156271 917497013 701834990 944322991 399292784 833574019 315493562 145259548 547937548 491018407 867412911 740357637 993809885 883173912 158136852 311418219 327995630 827683930 756206628 128897083 507518205 287595394 811351993 231550236 536148720 636814833 667093442 433951449 137369428 971103634 630915675 782809712 262862310 943504150 348259227 986594588 708398377 229051943 967085925 990428141 104227242 827989358 346168523 945715638 496531725 665490675 493879033 794845147 209190926 253987975 618049923 939241946 125336165 293447378 476540854 102025612 382518270 104581309 397589527 219283370 925800386 754398481 984454926 196092361 426881396 255995000 850208291 479787923 309506132 838131038 270744132 482819165 215814819 482625987 550632221 574117342 275859395 300801147 101946875 115993498 573292082 482200300 453356628 773755912 257815870 559732586 531483234 229772497 408644323 837772985 511022935 723756850 928673076 928337878 930837745 163177662 970942204 507156943 221923053 805018109 195175735 499573326 164109704 723203230 179616001 324216527 474370249 390291252 114344785 349874632 998479617 385304678 517998678 543877921 833850510 374322724 954603540 621407610 675401291 792590531 990381199 338975792 522186519 801729821 319251393 271679609 619665293 365303836 352472249 763511417 941140839 505639478 601983138 991440701 906315855 598816490 134834762 787388770 269908980 356254864 170526940 498969128 391759614 323461974 997530904 877644864 257585037 292465632 792656950 210169064 977518635 422337153 904902810 182239257 273422764 908080964 495925663 621346381 888007819 457359023 932354611 809925867 555978685 655852522 806448857 941464398 510829899 405520856 412292506 941514412 891540566 419443815 918919369 533664419 953704215 578762583 727258288 417142562 754386912 755239979 893215085 760179922 603330802 570942455 841811180 346089486 617049658 318675599 431202461 672809279 684264639 914009836 764570744 271353383 358364051 779862363 171562427 970562254 501754863 643849974 488637572 656857093 891129846 197639587 621216333 680695063 474411035 694287505 727262587 397684103 302387744 250826888 244401770 686650613 228030330 151108095 722506551 423631341 524826004 893623341 377498427 727719880 394177345 863306468 997263676 409156906 814224890 749479388 758257723 110995408 349326911 308218668 732642549 490277430 974815567 888055210 963525642 449963210 876289197 655918714 684803479 459652155 329260602 866884630 839151880 567604369 721313003 214388421 820635086 986206573 736628226 921427628 863425314 291916027 373552643 854144629 346456976 973771348 844984917 649397820 840117139 105317418 356862100 693760573 244243593 460243911 469724113 929000780 766733545 715153365 367402042 376186569 975749769 574180982 812827841 130399035 908229789 616599896 629359482 111670817 321792707 189189521 139270534 959734863 670490610 102196868 456899241 602591103 652926637 208438195 525279243 668660582 466798015 877612562 933860457 249959205 572919691 606648154 521480770 308996599 711393913 742548435 366866342 534122924 910744401 209701392 751652497 853445255 697691019 295141858 679844456 659988852 458622033 543055645 795499795 432188718 763885321 101443286 411484084 692717914 773772683 247610899 348525795 850390847 414414673 849543925 975542331 749878964 727738273 558782241 903463321 330716887 463917495 772048761 510522958 303299851 450876719 597956480 345165892 265627777 912791834 355135235 516246203 873909444 153139894 422209076 683557592 981622372 709895155 823130410 514470940 111337933 422990368 970290335 613372968 734032879 422177277 934000739 344537998 472789890 925105007 267235914 165466122 337201892 677023785 394458518 328663978 494814105 753398588 549770595 570816260 707137422 880702157 681187295 484204805 140133226 323539379 131467329 767738823 182737170 178393407 117600859 283015645 379007870 182446394 973616042 782336979 470580859 138190056 845764358 128669160 127754885 719012310 977732351 641473804 735467874 191969294 626646315 897823489 713565868 506047586 191971901 532376075 184076709 439360143 583039630 594548071 492696202 308243251 393932303 433270453 764372383 397437331 686976408 357639959 890622314 191674119 467665916 749221750 674535745 498253195 647106698 513398850 528844084 688324575 233932163 266128235 401762658 899840819 131470943 515750194 902445777 242117987 487467821 411200906 738631493 542447621 105296194 747633216 680159710 266193383 467075842 559148294 136456266 615848756 527355074 874113009 826213827 171193388 761113720 842745870 609664075 441492231 121603235 681399130 366017299 343343035 790427785 343720457 997111055 444886775 213898540 342406534 223427810 607357889 969413073 225328395 828833653 313365104 161741033 358389315 276489926 985733985 462807835 701164157 556467129 778390184 661345097 848027698 400132505 469765883 965268461 737355493 716517513 261241888 876338428 474963013 956277919 429813140 991486993 923193426 947711636 109117276 675054236 136159537 729996343 339362335 205476429 534993847 162678033 958748120 198147915 433363752 864548531 344988776 934468600 163540065 845592744 982863802 731038013 874600211 144304848 405468101 810753884 118867826 401323013 290030333 542461648 145971310 216933031 426527068 296490390 608221333 245733431 638897657 340436918 546731038 220797295 488350346 141347944 605282004 865442037 724343582 945625838 665119530 142665722 237044896 652705664 771064267 287289023 776244148 409685561 523284409 133729673 337007184 637275448 419344505 940617007 481108149 654507254 914374906 257834720 648981694 932685664 663234329 853773189 105488070 776840570 740874223 997271841 398935725 659147273 784855083 288289619 339548100 882602932 716315276 443431905 508198388 298324583 229933798 139986120 367585806 845349249 660456688 678322496 245504456 659424348 474149557 429048169 652722029 513343875 482206409 691770512 633784347 981466463 182410448 613439287 116888285 894956593 810870870 585155076 863755365 365122205 632926699 447672820 805858287 422297856 886938159 965084853 327750881 925722624 870797306 294182871 273003258 238927681 458402263 308077727 399952820 678953006 280506429 120443132 897184979 633020038 342738919 589574345 491911625 760596675 971639858 372218027 251312386 581742670 128125948 995241076 201033067 978325309 464662293 444727412 620075671 290250732 751088665 974000706 148342137 929750311 382056389 367677084 459600561 478090119 416797468 715689029 915039313 933202778 290233800 391156268 732460914 252837986 880602110 569560459 433825713 944615196 756675383 197915978 146148214 645387106 840773720 442880715 553951124 860153514 141022742 207428947 980986482 614826388 771131914 863999197 860998004 885184126 540564809 465791335 412860220 674593239 509679522 228514739 139011521 244509767 453132423 705096382 985721916 680745986 741782390 806514266 250274430 227278778 370955188 944684872 437567839 254190292 267606066 821611286 343776827 494860701 652048771 427841050 191233170 309051766 995700663 726260713 524817815 525931663 890573610 845204448 734929091 106001916 741853010 436504375 527423999 561698460 829923834 474798307 248762976 653505664 382586173 462590458 424964441 407042611 459446832 978255601 240247317 664851540 640246736 381145463 582430814 144709725 928836244 107724777 893464216 454130244 773120384 350517210 889171073 117078264 948540550 135018682 798012194 551803439 949318096 864136619 473267197 869952103 608472798 184187081 787548527 581187383 102410233 476522451 770793161 342990556 442409469 332723417 839681929 134285629 356369107 185453901 940684271 763812602 282629267 336497476 554352997 983235258 768340555 339914248 151203413 579835444 226266536 649815241 152696599 837882791 921174264 419302381 956653397 354715366 757436579 123283436 658468580 592266889 162059825 888761550 334035941 337938050 988692252 100104082 527337788 357526176 442450165 990449431 451864422 338533802 866019508 967065831 898469410 742516105 128687666 268010599 607503305 202746133 670108296 255289591 148072504 868330399 352376476 234974482 412552299 431068816 788230660 920307156 277174694 256410456 999941013 735270205 240992792 635826565 587982556 154545127 780523986 107881702 994545165 458632001 137789210 618806254 102799594 948839739 389921058 159766015 152048818 732045218 834914828 549534119 443126900 488340544 895488973 714108728 380010809 568113023 809570136 631592562 541628779 457731631 246902384 379172388 853787483 486656239 439405381 426204529 275634032 562838561 897194797 710893681 975167493 544460625 783002767 224408743 210281176 270991421 591837303 567122504 690131884 688181991 133618854 890512188 535207253 761764683 494433956 622451002 820126752 484351253 300209446 218264915 653181964 546272912 913688859 382140810 327252020 490813292 846683141 634965066 311948391 995812200 240942257 184043722 391669989 797452990 301797491 654150227 813323968 240037450 893753727 912275304 967048249 930389155 427350432 944934293 349036766 775859412 843962097 359685035 643171452 691026836 645391465 554501682 254567302 393272192 230373285 543378443 537245760 508125406 111423675 549406639 106177726 255143055 957147443 392958465 487266369 104119760 676017995 165880622 786856700 745229540 147412533 956452065 498496825 267946558 773529190 331708803 794777320 269658952 824106090 119528883 361597993 674195656 575607039 107715638 664619406 421629843 185448427 507038413 248332553 343315818 688004970 368260225 425653152 758382567 707181394 588362244 900107430 874763513 228695286 510012941 896172772 802387506 332928788 276663939 675045774 697291520 777471782 293997526 241918046 912711332 362215396 388800034 649867783 740902779 134744122 337656501 178236078 176969670 376776922 716017798 364259536 301508613 602035438 963979779 444645896 898720759 876769164 505298167 843788171 588167543 164128903 737075308 235621057 608022095 620203254 234598098 211584830 781526946 628788910 923939684 719329396 469932603 237674415 979672037 395627311 935339185 223485545 577637018 814770433 732201047 981530314 214262537 286411969 381018405 767109160 302124256 248014339 875754737 479168774 725693225 653604062 285705710 460172038 945228151 929366118 885922454 204820313 756454282 323196632 883485414 698221441 541884494 528433643 880563900 656028415 179559334 165830645 932265543 519076033 580610414 824412362 320672449 970139572 703381968 421168168 109630557 591819647 456352847 709911959 949017585 964737816 176376801 343097179 916856969 969908729 617186747 945641695 778885599 846575459 639344472 697494395 912663355 612819205 450208339 535471729 351320549 359837491 939182587 595522832 258551056 517894245 121353036 862946760 356657436 332142301 126025453 727562695 278755600 213514571 848009903 618812384 446714666 390363342 683159764 539044499 311183520 960857379 920165844 682063400 300686003 194581563 504862836 795728848 712165034 488355473 394694704 377263374 983819485 621453428 320075814 783055574 199040337 399510600 199525626 873221362 599430669 649799532 679857565 773865302 304246248 891314465 947501933 869314618 745142297 693772080 140934911 589533677 254113662 357735346 568691983 630935528 149138453 430380186 885282503 129709720 325041337 459615640 955957987 320999476 732427337 795337883 198575570 809416288 567693101 896701054 108483727 361207011 869170078 745598289 818311032 909205117 172141768 275644793 641423761 888370653 756190146 192807170 651832207 257863949 712001546 351017321 851712515 718166306 585232031 819835406 957344072 675355782 844003935 822849689 746878121 965695746 568917655 389505855 938563692 921477008 982429069 614936774 565126517 368126313 128885522 322595647 640600938 559407677 523922301 853483108 172717298 282145712 915999598 655808746 321308506 344240135 104778670 764935514 833391398 954579636 435678663 490747849 438168404 306976979 947917217 183536684 551319618 868236044 300783565 346937061 296936369 976935875 842126095 700496563 369744871 284021062 656030155 810718745 273449899 943087768 473913710 642705257 998835342 333152679 818586260 682760676 600609258 741268603 592331363 470621847 234098110 374381459 900763456 162616843 271373073 868561946 982911275 177082385 807571135 763476957 972703345 971652962 728920836 522882730 497158588 344032678 315389952 357587024 658654466 122655850 298332077 569487308 569350935 932748723 347824198 473855273 563510423 450058713 687065215 364514134 473042051 406912410 887012143 251691433 519663429 294407595 391586346 538705291 354682514 251507922 647890230 941067108 341460058 397308199 525364702 813953048 692269756 712251737 458136099 920156185 971355469 388090112 313793752 305721000 362139049 101367858 818750010 545442170 471924262 874558267 735155329 667007982 388817679 622106514 885362843 613773685 891117788 492281142 360918148 487523214 933290287 102896135 403975135 143796879 320046485 367623855 866101546 486686544 329799116 874742725 587290808 516864930 711764473 651853148 765828685 168755786 455198903 471221078 438884441 533823534 906800567 687058893 958006018 170907803 176712584 667229915 236002048 467983311 930582600 546470392 256404026 267946898 533391235 602172078 309756021 154555206 927349156 940557242 657966476 911430170 368363429 569406954 476729344 819368310 256016030 907432557 292346048 968318674 301492064 487467489 551410557 150115360 643236669 630477970 898120329 227748990 825908015 969292170 624020255 887555396 450567334 723086227 681240513 401354474 578325358 479496030 273915997 569066859 482275590 129576556 770408572 212717330 886433617 906777563 347694333 654730032 581141161 734184621 904321772 396498510 752644656 912337562 650100000 541445033 674311276 477903331 367282145 807465247 989001279 488018855 866346681 828037198 824823103 509955889 720031984 148284686 880799256 940529687 226774200 843690633 828302225 774181109 968024854 773598310 308933746 201700407 882146894 705693622 461215518 413465500 267873114 846593332 549009944 259336741 751471846 899730563 182214133 152799131 216459628 874563771 247947615 901928851 263168665 465028275 430274256 339827897 748546120 166527631 464332831 224463081 518895556 913899902 966283928 589661998 991915980 557122559 495632098 526123911 725101667 596933068 125576968 305002539 549355321 981855070 109479060 237416968 121782041 549600791 413834540 981660702 127239061 754637312 422594827 914290582 769007543 213744024 982911736 359794583 156763667 975702651 852383945 258264245 283798226 156452701 933258655 488775148 894597909 959516305 637139632 640430567 338688508 697701661 584066950 292019154 593982881 448101633 881531832 229748442 818160295 591300522 835213493 671481573 235330853 586478879 512941503 876429115 593738900 695372664 919260104 430536023 846190798 196698130 289490337 213979895 483858597 771817600 706263274 574141348 957312790 534419353 789797988 497002758 135509497 607633745 929816194 535197111 715816298 825362636 545796228 104563531 871785026 299878702 516848223 841551256 341308490 956119351 641520205 461485297 262400467 559393288 358260167 961993517 665351961 971681249 663345052 985017293 810625374 447446839 180312494 993668340 713772142 363439019 438305727 315646081 619880692 379973291 769868189 765473476 574481988 684782286 658788291 830360065 299550236 121497127 632335648 683446462 939873480 284520547 359878351 828433412 134065023 965856704 171468031 717618788 659430195 227975090 630522177 282980364 163298501 435618397 924542627 987584423 708931971 595933951 565153684 253128768 200609412 586419082 785425046 150346505 979154108 699078225 206219275 629384587 603164320 632384383 233960896 945533651 758235023 387602109 601852538 238102838 108943516 141729890 580992405 121430606 768530162 790281163 776957203 792717659 733119418 479479316 599349116 912838573 421533388 842830240 426447976 325900236 273046052 258205929 182152902 604148406 869104604 720400976 926430474 452923384 737002445 472751192 681187609 408507267 329466778 769792999 314109906 815194861 321268697 277171890 860715639 854853599 439711809 443830280 123569365 103561705 229522023 321909733 281885161 220779178 334944001 821410520 658852508 180356740 372472428 498245091 174111433 273378988 947908729 691618509 113301204 204517434 262637221 649459348 446514769 790749361 153395055 479751910 407044777 936485757 184381721 659846080 100105129 102556635 612909804 126025353 937041656 580677656 893239294 240429082 807259724 755941732 906572297 693698226 632626124 125275943 118923779 196216217 996829443 516710118 536875321 131863422 432273248 309494478 282188360 247528035 112146745 865054707 685879426 155071576 224478620 293569836 910780169 131561129 777139469 717094539 354999380 948504880 429684221 528122912 268574355 156885841 639779413 651203372 145266267 485733751 337985383 664099094 817971846 103477957 231944935 482155315 724001044 758331821 648494440 875314298 724628982 463824738 235937846 319322791 805459862 911748248 388420915 843832724 852898182 725337791 427179989 618626372 296868592 812846205 709749810 159370039 892823448 413074294 796670689 193996642 648630187 460783393 883884981 606409029 664736802 765635713 949373895 278211341 467001521 162868141 397476665 813905050 827605625 974280756 687597796 169452780 413151653 933454141 881866398 867058621 835974413 853071836 278290266 344109616 126873089 112049289 886679284 454984289 118569318 790417644 542207101 265655345 784630218 773871913 698375587 176628203 558665402 851332143 944670798 621934613 122107310 857824512 820649844 694221315 888066709 201807501 162308358 392494279 973856947 921471474 847435816 719435445 149608140 641021451 515424356 265946732 875104101 848617658 894352161 715293870 405858699 350427863 381584637 678535110 571173704 855505787 155202831 840944222 898680057 252617813 763444242 380612771 502105434 485219509 670046330 760650792 960006393 559451537 357262535 953537357 453389476 149839034 163660565 537080488 466255326 414016862 116948855 486922619 534384448 628631767 329981693 170772238 544046807 288792053 869797686 226250395 785632843 853008997 481575542 966783843 853666167 523080890 601487649 841174490 192414905 542017793 354746041 369747987 612403931 453889235 556564843 713250872 107181324 618417557 247408973 666084570 752189334 996821832 556437787 284840436 265116251 940671352 473535266 452184180 707543303 875482890 297727160 307975119 623090585 261120054 508448369 137394903 929802640 303353895 643090457 920462233 334641207 842791932 858380791 866001556 733202811 869391868 561650405 150466026 458395056 796391479 151925786 930260355 526707546 482042599 243024807 663267750 467806585 650337692 157651449 101694334 159105351 667380746 255273195 414734349 743470950 458743975 136781163 348827476 912332863 352309330 122109713 852494703 167089130 764783461 962694062 101092176 634168497 542603915 387453198 630655576 959089248 747793098 819657600 843810184 353687481 445861270 947635404 123713588 273166464 572142391 599027167 738806295 902452228 601465757 186520781 692863536 580937735 583264289 586242223 805210683 303802040 620238502 156351629 501394627 611071766 886127408 444088782 343785794 354418675 280157722 861426346 715697446 227620057 946764295 142264235 617856160 240705680 578338114 772432285 623685482 340625762 491570873 196252821 262508776 750257355 847773664 105477738 299655059 820118024 687076447 697145516 469990583 551178931 240134868 574140438 857236725 538488245 586722035 235170580 758480932 649456645 186256072 327398091 323768428 718392277 833249512 381668539 445943593 863966055 833647681 552610271 850069083 102688933 183889563 581779182 157925284 174107887 101762149 763683455 395533812 592680954 459294553 783837233 472375469 141731166 765571849 144492970 521811096 570575834 690759838 416711739 341091192 172193036 159330284 603981019 834523984 740986795 648837205 731270309 281477891 943358294 242528455 877371329 657403768 912297113 407869855 580970738 739170842 687944280 610578622 973357254 270987395 986135164 277878808 780824330 536963024 771333886 227860276 898205913 250591292 679990404 570252316 183778265 726308937 142574605 908731643 562438766 107904535 683414720 495584169 896285532 853496321 975550269 183475532 225091690 164524438 628648067 157967525 752804617 585471673 991085794 850300983 279590947 775971515 883423753 525583297 439876061 178119346 547279116 246484470 908806358 738946599 148847962 806211904 216360459 386158477 937945137 642526633 277684842 776073886 732070558 902402645 966927088 552268957 105915093 752927752 635449701 238203570 342848076 214232220 671432453 992884794 707478761 339762315 918798223 715818198 136842156 974657365 545606872 582310874 929796844 921461215 343907376 101617259 156056391 871597019 491719571 566829261 418482923 354718354 639898412 871986151 696466241 786262324 973607877 174064137 110847551 805061566 329045916 292071199 375376682 339055019 771562612 328270339 730623449 109305626 242060008 675635911 137103134 850465469 456769245 614926520 386914996 865109229 596136254 968265943 658242342 916931299 405694860 550797552 988468483 995565953 523752586 684471191 700889414 477866897 727170756 500613639 477101545 538278852 964881722 173388319 383885932 185236856 847021547 877979295 864024879 985138509 595705548 234392392 338407452 276653122 547349536 799855074 818028378 913812746 803091259 388565398 879837480 585445755 799045319 717997428 355847936 381314538 770183346 542610247 692137971 743697460 383331353 904719520 662351669 209011519 466115199 894163978 688206358 151227229 863562090 451327183 315720545 630169832 532591498 628850205 819344816 126323642 214211246 663537147 655731909 350074959 602707176 500585532 130758871 907937700 198538153 717658480 634211285 377334562 106770659 292953048 793571704 837678321 643848899 804483706 721072225 560848671 116698352 728720316 944020319 488089556 590475061 222347729 520501763 941184335 638426269 457234743 612647859 968406649 900338223 534700847 769231297 647232383 120638147 191689753 109691994 710225166 253328501 446198956 670158679 151566718 777179461 986925305 708540361 198783101 721695270 899183138 524765068 389117187 122810829 668493316 614786379 760121994 795445434 179431281 258878694 357482210 364005685 950103866 426934472 772714711 261767365 461670786 649077302 935322769 294601231 208807733 847383560 992835654 964081133 100035691 415808686 617050252 543688121 884833382 295391853 226761024 306547966 139423207 403762471 918856079 248655747 638204149 589182507 118073733 476989666 833706244 938591127 128583684 218586559 621687958 738478319 718705201 136575091 899660652 208298209 339941030 254825165 670861397 988967964 263319312 438278446 206558851 543444113 164411299 505837783 844851182 698441543 239409281 433888800 680766058 969356327 838751927 368931062 935911188 396091261 925739413 237279664 421759096 946147449 230278992 964515706 174885457 740869217 859826387 667618744 479711353 248904623 507872932 443333793 922852162 776418713 990702092 701965852 735477640 106330835 202013512 783933058 652537761 933772103 445544802 533021064 577567666 783895911 595413920 827133920 706165181 891397847 956759569 494699202 938874609 727132863 822993769 264061948 287105650 607690473 878399375 999064274 632737084 223065044 476119825 454437929 211057120 290164312 783919024 709316494 547647684 238614901 759452705 495428844 925371230 614067022 777938810 220605527 247874115 271748595 262610307 608611744 996738777 321024194 457646564 324570264 914214626 147087543 997685880 562499821 885794171 184441786 356997770 768482503 312343358 313228887 640171692 666085050 184411507 772627087 362989516 788026205 580427467 886770827 514887544 186901378 668632475 292524787 623649234 636234503 471465662 446658770 168017891 242958411 792246258 537995330 563612812 409692942 915718760 378050121 574544544 375552647 131521284 307025269 462700149 839054668 182496420 567312792 230819110 437711808 293765355 305140091 930417079 310572785 640697036 722595977 864408303 923631815 368671078 563255075 471981327 472820823 175332735 128566989 755147574 415148315 143331845 623210937 553809477 810863771 619147406 322904828 516313224 357405543 949792403 521209575 312710773 657542780 983679444 533834034 269606362 329527459 382751654 934140952 683075174 699698687 746023116 398342509 798591568 140505562 393357190 133909277 541411398 418407175 305730737 457450158 819433030 274866595 940999989 466457032 783078550 177181382 181583622 466346619 456458768 758301646 274977759 482088153 602426539 725276942 733005028 725436357 258463329 797711343 614207405 245810589 806492301 187227187 661869128 515897273 372694719 835525503 620648465 894256439 483732942 301204310 621443266 763544248 110767330 218550025 677202484 543363053 889896318 620771827 606923334 465479256 816701287 373527348 845968747 827800109 772537595 142507484 793502756 329962908 532404087 290810964 317227297 219808286 956890990 666042018 358684161 445859063 289346417 851733301 182058119 410945458 490023813 949674479 838672519 778906293 875073216 898367839 759502493 505375887 109097672 554635454 128339564 786031707 522086017 277424377 782781022 470923888 220893099 340333167 132667973 996867418 784836656 824359748 267464657 556138855 318243075 462521757 293204805 109161626 397457431 271825695 558647934 785189883 580896792 185618535 601040338 827041710 168484521 679448475 480524514 427623769 721705271 932869509 283111827 582541409 880108264 890549639 231434863 270197285 580016651 350189429 958099769 317265161 243146943 742073586 669862981 182867091 325772918 645880108 916419595 765505770 504004310 422207490 988064795 252213424 941460447 128450690 364014043 965011945 510883232 708149843 541159304 282966462 762271730 254389113 242286093 210133356 679484576 853599561 997819434 696298699 935584152 215196859 516760321 262672076 444784477 931877958 495519238 874399431 139357989 501703361 728881575 390675884 486037490 708318411 477211209 715672564 925564763 660367552 657596579 935931470 934206805 895652166 561522696 297269544 189565853 369500295 691362613 603877641 691786209 891914917 933760017 692021814 569436506 992699710 166191235 894525738 113572577 408437874 617918463 979778125 256894618 630499018 309529814 929393703 771165648 476800407 758129031 601735630 990412605 873639060 969549791 929626877 978624572 248244772 258794081 476159362 311390644 145538006 249541067 760022887 201609114 295164113 453029644 719405926 943554757 125979440 713407826 963389047 438171776 323802885 200573044 941689129 250468759 587107358 418773520 859814884 437120704 454277821 782817344 432664008 559241625 984624720 290985594 579702021 266834332 408279583 630634009 514554046 520766800 156062820 390642631 630801318 321349298 532623990 225104066 578823235 581056262 152274829 219765016 502924184 920848761 983209756 714606378 230614715 268176429 271462838 121455122 755622460 473214408 137542252 640334409 244836536 920734199 803573058 783388058 270416707 792451533 449156884 375285178 404013866 943636070 907717190 272071138 518482124 426432955 546858165 422294838 885579177 480814978 809375080 984419765 516752687 482305897 263891541 693540876 119650051 989976415 754110095 481770330 418048983 585761776 904692002 735791188 256948597 749059975 134642788 795111386 358788452 423775878 210143038 992842689 172917388 432405408 384853998 791412995 494237007 107321639 330592899 755290499 542879620 557747073 430819996 823307196 344511348 682532113 478175489 358569356 298076082 226855680 829358695 959543138 480609320 216521490 499181157 898114111 433303468 502460089 616232257 212854985 202527222 941027694 965366991 606081264 791910469 909343852 235305418 712266998 732804621 373720420 582035134 593125257 589338010 943059314 375001611 201350716 824651808 962862228 154685465 438840327 861723125 337146645 954694705 710904836 373597245 914747110 967325148 423360744 533083132 260388695 375733657 677058383 730186095 595923232 748123666 193922598 667862822 249711852 656475699 224352434 409323916 669353242 854583959 248420514 699483796 838529742 976173046 197919411 893070396 546624949 837494548 492899222 485833192 520587821 278799333 599739197 944365256 994409235 474447433 604614243 127896355 956599899 831779505 313971685 331013024 586894509 857100292 626634485 706777145 485622719 502066573 234836165 290982401 923466306 883154952 710872288 287078259 678351126 637495454 811120103 505197160 703333883 526240056 449830752 669680319 516887938 861179068 879710548 324575679 553541949 586675867 345030708 318475567 272474811 339757163 622710980 136092134 285713840 384986270 869029843 586789133 271696145 274727289 486976503 786554255 284631200 967541221 994886091 449814252 503614529 208412985 767446056 352101512 650161256 134942413 612946991 393132199 593551316 947856376 851829065 544622053 399267886 728077289 318378786 811514372 977042557 349065715 975652646 749183392 663866491 889021640 618742329 817523793 521493583 240944074 994843313 224430357 640428017 728584597 489365036 243538845 621398242 751710454 663675681 463176665 685384293 188727160 778421211 522965063 298698720 340223860 646550900 745071550 304374478 169487438 465786336 763528825 676215500 388587382 624793860 266645668 144410816 521885151 499387388 686828840 312330371 306214352 502295615 995266967 721401621 675335481 154568737 659150163 607546246 249604662 675695517 376502001 153903742 879190500 986648028 107730763 663641456 738161030 802577381 665097081 645535788 823629039 364444093 507295798 672115365 420014751 881944016 129609806 689945975 187970321 342652334 617376508 187585222 418767726 573510380 708260893 564936085 716933232 455600734 431322761 422740962 138604964 979541867 955899402 730291105 152158953 818745550 691858880 721199498 324812304 758294321 229958739 979615330 716465893 468166813 884446282 470045942 239622881 191857118 997781577 431586709 981961244 567462348 351380417 395638238 659389430 746478530 519426290 328926977 709285779 393393278 614578740 857921066 963276649 871015425 358541103 574591147 852962066 932889458 558572698 370292110 277129847 784451114 468429604 333417548 811037318 315156045 664592844 994902512 736701300 571712643 369040807 869374172 432765031 799677202 266109986 263087213 213742502 785649743 473597418 937426311 118901117 948287615 294013970 764349292 416959939 299166021 484579961 154527731 670853901 570431680 645515838 945785616 813044926 938370235 122785689 416144816 340030478 314780874 350758542 975536541 251412137 520579958 117566492 160540138 424234988 290039019 297765911 941096046 395241496 541564232 693923670 645844488 681112237 420679921 339614351 843498907 639248363 340163977 437446402 122639717 999733272 338354575 250914748 830379250 614830681 226894641 395701775 580754525 876910042 429351422 377170993 812794246 309637964 922567152 902644269 187343895 820075284 223354704 498081964 495987356 595941770 174027531 524221737 358677185 215959209 411033106 240665683 847750988 229266016 926855199 635772554 492366698 731789260 223975123 546450820 346584613 176999720 520640384 128842547 257749477 314233789 976347125 350745962 135586395 532414210 122159563 522615878 974806478 377253217 623723250 227178501 280028207 180796332 292813999 321225146 583915643 413855856 979927347 534080659 216024162 889642871 786300516 137734006 424424587 731041381 353715465 669050986 725173879 356831276 275479776 992774610 927426124 781279206 759890566 249707165 388231979 430443262 318406262 540785630 115531365 853051258 141586479 369076866 109302282 919140536 891633255 757777829 639882414 185974566 394744290 500403797 282536454 745174146 687083923 814192165 885138203 723853754 960135035 711727638 599060605 346706118 194089236 761251151 642773809 478966064 701969457 978965425 634299570 292947162 642636259 795932212 856793579 252982029 741103721 230788156 955729508 939790319 721407610 275925050 572411835 463908020 561378068 593762447 522195667 603894594 632660603 666800747 307204425 667093149 211231076 314166671 575677583 423807981 597410144 468272681 927712276 963733966 992938241 201689236 939644511 782253761 620447878 586750924 633147599 521916503 793060974 348488454 279993250 163352618 956435622 628888749 172576924 458916865 381433807 227357421 122885087 535404142 199802314 697317988 803833463 937817446 863952042 191174048 287796841 810114867 511432280 460616846 965111357 485219434 970412125 315640490 957222516 907479230 311064667 201770095 732559906 497480584 244769777 134279650 430172040 489798066 843609040 197305488 587257752 256209332 561430132 842949430 449881631 149794819 432294809 704756575 655501280 743696193 282230132 160870485 500831676 335996041 197944129 780035271 446558116 875138731 725577382 868067517 315608455 764857491 404581156 786317507 891033421 364330323 937413690 914561775 438612083 381646865 501527125 840164149 257026596 345095729 144008396 259918193 734764205 172468221 213509120 291925664 126369057 832103667 899357558 238635286 344252056 414198399 145523297 855041471 201463941 513636681 840997986 595187835 944897346 145171783 109789121 223212782 783554183 287767067 521690422 812848512 992640924 765813883 510047333 824562613 672082765 776836534 180004872 454464903 630170697 446324615 998459289 943929880 631730510 457900083 281063546 213349927 163831629 173175147 987566373 676074139 291821289 239924334 831428636 214672162 169430128 443815788 414193541 224171125 962907108 275799901 745311470 998931178 334571306 874155187 603541195 895251764 377563808 149430448 906855718 798955306 348728651 152323676 946084545 146777597 664047867 603316304 156491790 209943082 187189023 546619185 734743573 402732581 497496297 617425240 725812707 780574696 554274381 185324167 617582119 280648864 435497107 292181070 527135389 160525753 939348904 347690812 674816892 842797111 195354443 582938306 321494891 189171064 607297950 198853664 532656104 317032761 877498175 201643226 924992448 546705928 722953251 888939147 518164717 464651931 468723007 842888578 785209927 951756646 615802737 144225339 719205640 795159446 213738441 655321393 181897240 392349133 429304909 165085030 794364407 413833351 737185001 938397020 793261848 495719110 990338800 248527422 476748447 802570518 556648624 659771517 840657515 615590319 389075192 816322430 704457555 913207237 158691208 310332870 996062294 179489937 787101880 959157203 854756184 482518135 955821160 686205256 636227557 221546560 802202909 783722099 819660210 172569263 402003029 122137181 557279685 905555407 479028853 262983404 225104888 243251014 198625170 658995651 377648600 799988659 591036448 440862171 488534588 763476073 136882060 962044813 900088537 143207326 416207347 422697933 173554124 168960903 506832473 492557295 984780592 715518303 201800155 213131504 945811219 962616548 936366979 593905360 286751774 646329397 778254540 905998039 746210044 296112344 974100135 645456033 732108615 639207717 323095915 404209879 392370719 537501226 120929698 364167785 989129423 469128073 391977091 267563648 748361948 417072775 907977542 657844783 113941022 630132948 230347434 126216861 638543126 148014479 973282032 237432638 106820137 221295665 372793092 430172439 964204298 301426446 600498460 166521396 955391934 425668771 373940374 122593559 207370929 704629293 977136922 421645996 460277816 225020151 240325434 359570551 449816732 199671110 530290456 646400876 166537720 787285768 301397179 650533799 362335843 779642567 277845053 327092686 478130055 808422789 119801150 512995531 773412826 212198536 725117007 548887316 148188863 948424863 134587793 689825196 230000899 287166717 650335950 252610443 314930973 996087083 142408892 497728164 905567480 441832927 159417716 581159020 813222513 184851197 220106233 251977633 868045393 799813686 972184867 906257522 556431716 299234633 177931884 692754795 130795837 126097106 364581745 615554009 974728036 224486834 757496352 281231484 342138168 417440530 911422002 701421689 568554163 606096248 529657575 994481033 207558877 673821626 866935859 365453718 496981059 608644431 261556912 196591231 938138326 718025923 876800720 341889312 595073101 665345273 497069079 375129366 545241999 282756251 740294990 236760446 625978384 859816400 541582395 780721793 604440236 575606870 528201952 859974225 659870439 683649190 398507687 973801107 809950397 618059292 894785525 413881168 312720297 271843921 600383279 819181996 150253135 996527942 999824707 581185914 147340474 723666390 713695198 923357508 597183062 195777732 260155111 722624343 429921898 356591696 513837973 750969832 901816160 959853618 305993840 175257644 595503819 597959166 267449454 681697754 355427820 696731607 616496251 257001051 957915097 647155872 384785729 483550334 989860743 351683257 480737924 499238606 392912256 612980176 445730237 392370942 208859526 849961239 705533414 599589210 205039587 230009049 570534320 344180928 473226172 540132771 523219137 964902060 277720503 953837801 620753322 600610827 437444490 655568501 311483056 418694105 690163512 292618507 328927452 425117370 203411091 107338504 648987745 709934357 994456245 971966666 861112227 368186339 554695574 268984310 852950749 114709147 441967369 477941879 998796284 218493292 321098598 272931227 561864777 306886640 360340026 673215903 598568134 465679622 472652941 392028793 713550785 415903264 381663582 212859752 199392124 309628898 512894988 438450229 638233954 517443708 210187917 132077322 741614105 569465715 517569665 954518285 833889991 650500846 856156307 907081645 211149081 804454491 361709198 985648299 802464354 736057257 398984994 648244443 952990946 519469668 656910880 519315084 732485929 121619341 532577276 537229438 502897054 325805400 124799392 268644475 267474541 612850641 754297804 599015693 360009738 821033815 379784882 308918608 699488842 748533481 298244852 166542067 569470417 152067855 514395183 480475353 212996431 438141493 220510975 459668341 495149017 364673211 208719120 656252947 985838826 346348066 229436933 926800253 190980354 638564398 954762103 384750380 518438864 533705030 571903146 878561760 125616697 529826075 790230663 624739942 612172579 188702351 474521984 558453060 481553751 823258224 892268299 588128185 225314297 772255563 963218251 202763048 189253102 234759852 816265220 163387758 795324502 503096612 636377523 326887515 183391943 789080868 199718692 356868286 174872371 146380105 495645118 506899779 390178628 773953026 376309700 334967692 568084335 995342972 814660094 770461880 873109320 358322950 432139396 232290712 961274088 461787970 121844390 704982108 524116750 761747724 171145389 828557418 814774722 964403331 904695899 705072099 168097406 826676198 238496721 736979487 821639996 202493555 493099254 527595455 977484169 456139731 826924044 101707389 749559241 692067395 183315261 268851246 361442051 775331717 638313118 214269831 835054315 691670822 555202073 189024052 977362746 563154812 694927899 379405025 771483812 768788506 127274701 149086643 152587054 562337037 422192150 103074808 369262154 977450512 910552745 956049664 916790560 538910298 538527886 695509412 998330692 318769446 583438508 280641351 450337934 897795773 667944330 223559221 251842255 981510339 833549347 464967020 577980060 944272865 952295262 290606961 283691023 318117809 746240259 454062502 418136518 494468479 134851278 489163174 777455447 934651879 721617416 411907483 668612404 527120501 821797314 891845585 810643840 672465990 453603670 418528247 759173792 421970129 363941658 121014296 803918214 461901609 470565260 752248259 653530800 378883444 343104909 289451495 661969460 740238588 127068432 985114933 173493491 792581735 849721265 434405458 635477348 864763552 116750294 773374451 127023810 682185734 389524153 665881430 762789793 334816471 742225465 535821461 955410293 780899462 406297521 539278532 597636804 820771536 451791855 762836394 851242940 842176978 334559144 639006389 217468749 859977210 660905029 208027685 338132018 712632491 516298168 711221689 543027548 748821677 359177495 314730347 209491955 536810735 365187078 101772701 642273804 484247831 154488216 770786983 858089293 410195771 925963900 484986191 892948858 685973484 501910814 429069359 576254914 897704079 126101421 905714030 567134125 790070244 311884089 304919806 528513170 153921024 983626697 351916387 428576125 261824017 873688545 916830983 216916708 455714473 276327059 529700158 937294777 404069444 490132404 873666821 927687490 176029601 856908601 956188130 334966521 458388836 257654100 182520197 866965078 937605500 645531617 760411675 869867151 945599459 883770449 953777410 125891807 229108757 808304817 651971628 496937287 441594159 955265043 160807499 504059595 712753235 618128865 816138324 112104765 670260216 134574702 215344138 773543409 407956939 667090002 310904955 985797432 632128284 327769716 982660713 509315319 412202806 113176073 236587398 285247872 199245141 562694206 565077033 284609454 265686503 371925056 956814972 995646433 463379180 550087763 493623183 539234016 603596607 633599747 433464200 882493429 577336676 104858585 730286660 143262162 940107187 325262046 186831027 409989711 269142237 177998604 951535956 342309332 397392721 240657893 117504773 937990434 630600661 208131104 267076366 213896116 824039925 426685765 711931429 976905789 976139918 954925621 659756241 501799119 158905258 374872746 892488550 788492496 176916047 842675725 991085910 724383496 731190135 421057842 102461548 171441955 581394010 698728138 510115615 365362170 600554157 512165962 426556424 773910709 447721353 804599349 854880700 546206257 834218802 626827480 862074496 260830124 487940291 179491834 242696132 915960238 824809813 167838362 764769375 109018826 667629152 517677241 106832474 848857243 436329078 363991754 926020587 480487915 137290500 664356592 410313475 553058203 331872203 522760679 312110518 954650233 879832102 384038798 918749837 497310396 412799924 356768368 631224972 841960531 276347794 812882128 328823458 131163784 481947065 402164209 602323270 270534076 279704088 913561038 634086766 221454299 769707144 504269249 733948811 145063214 814762195 339827892 507393495 555988064 210594559 278571257 278951716 820255930 757788827 267791770 481519741 909118139 576449049 513693412 210157181 768433987 766412424 608439412 454764717 134564299 859588433 470314250 263070247 824180599 393972322 825147783 742303510 336308355 862405345 308204826 124022828 917440636 565431321 170918571 985753998 770517011 965027242 107659715 669996313 992766913 340911962 233173539 549794794 129074877 887400646 469438911 759283149 807409742 478673813 892831338 610708143 515971818 224130506 686661643 482496195 441621174 533862759 490588344 563961110 511085806 428978549 739496426 641268983 337609609 303369708 284914085 167388436 351588636 198501924 551255829 105897241 262854675 530021882 661688410 788976092 805312772 262436043 139086604 250852379 116828491 132752599 538471875 601753523 877941234 757545655 780764698 975037230 751841190 671964731 415604168 408035036 412866666 407817726 558604352 195766001 430410643 775125377 726738534 985341645 238401415 418841660 706818227 225294990 565868672 719785319 810982327 251945182 755255791 253619567 433608483 231506931 824833823 511181920 398211306 836955632 247638060 856664230 704036628 739868041 662600802 364661426 398284324 965182211 263221299 857195936 266895353 386979400 892307835 665856712 257253287 309269579 501615655 963994490 550291318 300738965 674711779 864931888 782463547 578152834 556464217 588997463 419498563 991224133 837962903 954135917 207227822 731661951 616397816 585358553 982033602 920023732 457701672 712572770 852976481 369263289 201321140 751062427 395130407 752586107 928857030 525544578 145195402 250194893 374511635 100100356 806608122 693310296 447967805 139534569 364162065 406378932 366392504 535580883 712128258 531630597 697305742 388758502 526580369 403966497 201192640 460206899 147014263 455860223 756799453 642860917 395171678 159887693 541720200 945995440 698384781 360988602 978708145 258925296 525940809 646630728 152901332 374665943 546057423 636767553 903749195 875685011 623962720 104843218 946982844 790022497 582673378 926880374 537848698 581629348 934308604 254539026 776026619 353453463 964238531 890717650 906058417 489077731 561465666 579613746 631607350 988264286 886798335 535048051 559137891 540811618 421360784 854964398 398745336 955718978 209043325 352212661 962065591 195709101 595103973 221194997 240985374 425298796 130889779 329952433 785721131 297185837 925171255 565833375 342741581 213973361 427396785 772806505 938789665 763754264 112296319 992679226 272632634 179202751 283265768 905717186 595533700 865691977 237743745 932028373 842819086 972539970 408211352 542750928 310884310 949639721 172066043 677322862 638060601 500414470 686281423 262899357 534637884 442401825 227259023 530763849 201947864 350029702 283706111 621712426 221116158 604499173 972484702 139185314 780814578 783850574 663526114 633872079 294467675 491767808 949597036 795736600 893711898 990117541 332727765 812363938 886482390 415235209 788005116 166262789 915798591 880297152 254886750 589916707 482581883 234925607 455712332 190972685 925731473 349135526 280492307 273719984 780835278 527283090 316496668 303428005 269207895 874993452 839365925 275634460 570802833 143257576 876988998 295212387 883132554 151459548 458891690 566428012 365119495 656031839 397023249 221395435 280208948 705212687 694457475 605590859 378876091 406671287 323852627 723720237 316618060 361537109 332548634 583197037 525919462 865126645 779513914 295623278 838455948 980963123 289469068 510339266 759925656 415275493 199619058 321025577 771078180 384146027 167234371 399565129 445668159 945422770 985728483 394425953 952205946 105654607 513949730 272290528 586855378 532421310 539539479 343344083 486039034 161163289 426078482 940000449 571100577 788810898 864028971 310522488 508682465 277726268 155439861 538430888 770464770 538152062 134187242 757467795 888008483 539608455 924414938 758931575 847145123 150977121 802799970 636548062 682386571 780999096 413124500 683699949 685095708 679914765 550050943 672979039 636979181 721421049 822485635 123565221 605217742 586275931 783490189 812268900 346098695 121935867 151596805 561758665 469359107 375755565 653846368 868451790 103161653 550037216 543757314 434446542 834357760 447350451 231389483 146155557 744926049 641182011 750540462 518411587 920846323 995433731 670915112 685174855 985458959 223717404 442535499 546299484 650652973 297703165 858803884 373608460 995621359 925643785 998701855 302806522 491560394 916500676 444238160 457851260 174138994 134333264 293512082 144489808 439019576 753308597 362877859 327220516 561695072 698550628 787837729 469333430 525253987 268263471 453775312 508917254 898990810 807365210 979484558 877826762 687762316 962340022 192203002 221210906 484693933 310209189 987634055 981857117 943330787 172872502 398186176 105799342 185373967 122441648 872840920 720371395 731616221 938402886 127013981 716048249 798433515 650151733 636873622 861326507 369827023 917381853 240734603 321775276 350258553 355596535 719296281 828293247 578633639 722937092 695946377 991558056 745390304 660530908 447522041 975380077 584027305 908113060 126786937 223269485 449246473 969467235 684500098 943182057 751383852 254611866 987802916 719075780 713304977 368480288 544617483 496436533 240572173 972641678 291133582 202288753 483015437 109790609 787796987 429970709 905790165 824523903 763056038 456106642 529027697 287818704 490112571 996327495 173213941 755050416 201675423 204198306 500360580 526926629 108447241 801896840 844049250 518956047 366611328 662135314 103846474 871423930 309641302 820755453 809628812 911437788 549091647 814705261 835594712 641214801 476373351 777547578 291741279 940179483 804557358 483788707 657463009 834224780 527127043 334669531 420625828 616895388 103822341 802574982 930407872 481201720 348158723 772864923 604628116 521877436 466395143 277099906 721020255 165993737 622545880 706882896 646214158 927069468 833853280 657160605 247141404 397727006 480642241 827961333 380325416 919032143 996954183 768452629 746568597 718992399 490569549 936487343 458893782 483316177 751804565 645782331 133597985 387284443 508919728 248819989 880662462 798264338 531613315 917397870 952218175 323373499 458767808 163803907 578918312 162752522 563138001 114218679 581472301 104609814 146628459 602706106 628342808 518964120 535392827 936729952 135396924 268223498 382280500 724405285 348940326 556049202 127717043 823375643 135663520 873104431 694917630 904474504 252625547 554382345 846089382 383440211 173296994 852120506 427868490 956580217 138469729 449336536 989983592 568997260 901864281 720612082 471451102 583358597 354701264 934507945 360934311 363886471 427132160 585464630 177145698 335219615 405785836 133574926 136088393 285253578 404887351 217365601 569679415 139425649 513098803 538172889 605368336 679222437 521489906 775869836 575303476 428571572 375040659 308671801 464500980 792937674 373680393 916274574 744872862 720497775 337907361 514802363 876910002 814961799 262069302 987709829 183164274 824783677 541174375 777439252 186355159 992830346 295756762 674929854 384187034 574394747 856139107 312304343 124194709 592008715 745540464 222082168 868142998 787100611 347931012 635141064 360203158 912564160 497693968 180747520 904664568 445952940 927605573 610893309 767707823 543620962 306614676 200745835 587297111 120008492 786625326 533360865 675461045 126168959 810389908 236801020 880331010 151870678 275760821 638366139 430624295 137665706 181269143 314119962 852273168 628329221 397130522 506436838 528449164 458166141 144390846 864061578 762607478 206061240 533107105 502929513 235608136 614266205 134751079 917242033 232911102 522168557 122540488 584732701 624587908 921158356 954633053 588359835 697315568 828142314 930965257 122478135 995212450 923347247 418429415 192469715 836913945 775251342 554336019 986327056 310024274 546481435 879228921 801798018 512939421 999905004 258612680 378108624 197537756 779178356 895006091 888686963 135081922 945760532 909741738 987724344 977579350 608843746 283940007 229911940 389484132 600208550 910473638 408724427 798759726 696658320 209601897 719261239 146815062 828181770 807901483 854460151 134528964 523520093 201623672 508135672 575079226 616875730 792943922 218813704 154003438 169284687 738037316 819433466 256835723 105131515 808163303 596067138 906749226 394067972 381977891 590731546 899352231 829254176 389969348 738757770 625445483 944017598 769148054 285217521 133938391 768999893 945254126 299891015 787390959 154658004 217403452 597766609 371804563 896943618 255934623 459880130 583190872 109982562 315321474 256733837 867091264 523069434 294017535 416359488 870594671 669987712 768899924 665810630 755274723 667587340 225547249 996386207 250354951 561531641 809745058 291942825 983434267 922529638 363587723 396906694 163134084 446881009 555009160 903380384 400692720 746189362 448249869 778732940 324646892 615460100 697876788 345249532 944819661 124464866 441257375 119233739 455559807 827736807 335759873 625318778 313933052 284770444 121048770 332674760 921721707 233199169 492015977 812851932 369991491 394432777 354541209 312170568 637073627 121025854 406129251 693372729 671964713 290838410 595499108 560817796 922126178 623126131 691252749 965933508 326893671 540971789 449256429 852022125 439329857 832160705 516730164 397472487 776132457 431033750 728445298 861308042 758592203 361074698 976988492 229714977 657578396 307075930 885798828 393744819 217382633 189932494 722117982 413290797 280275467 370661080 175923584 883503060 181383671 634749773 792934792 433179278 110722920 902391218 523445705 242235909 621604221 676846223 231680380 846973030 504098246 116864719 521031701 836773548 609384610 671767707 781583513 512514970 630557238 999817233 246986954 977032053 869492032 556951650 753904184 156246620 712012275 167117038 113733440 223773279 977343434 318415938 281444280 920085036 385802495 708381175 210780927 406301698 650637103 488949173 532029274 317165196 892006068 390416674 987951287 481544537 695673449 591595879 603433182 728927721 385360694 649326306 323209680 901338988 592594247 816228796 844856702 776920609 411226538 693624062 851784749 610310993 686278628 498888927 756267372 857603556 808430114 242626196 942772620 610401230 424163736 688807944 293722417 432535635 707616002 719376329 136859340 508831471 189399356 420887160 567606118 989676638 450715121 283865996 842048703 281692188 794065636 515157041 202513436 682455258 645844834 867472378 709615587 826606398 100013930 788938466 311784816 432265088 938314859 570259226 834898733 385066111 321699949 390564145 616919475 511778408 394999928 799017596 190825767 412158250 539554756 335122279 406757786 675388973 617300523 687311661 689738260 342877564 520603663 505813917 823643883 285994077 773251261 961356278 385969935 550596053 762689333 915480646 328874585 249649408 555556869 987986316 649039331 973574514 448584070 112175329 167065381 722998103 843716850 772052598 447882959 982255220 223027514 574684326 762112469 148301045 833536500 528558457 988810170 667195623 213998399 728370826 921365404 613499147 421946023 713271929 466479224 636439160 990444152 886482322 578212202 342999856 795676681 660667120 180446121 908939265 490308690 880619461 117216968 810393613 877168369 175844074 619868978 972297580 784483377 502286282 543133401 638027095 834515984 905497533 793312201 599030950 443893717 433059805 540112920 749125994 457953507 504038269 595917918 839462402 665918314 766326070 379676260 415738821 506507191 365303827 353926199 141447473 604234623 532667939 646851620 843979657 563238237 467261669 907046127 877945425 589210481 684933381 120717518 380329409 318386588 980559088 395923133 783744604 324777019 632937837 800230994 456789867 550933848 841205542 923491715 896356826 147045223 545469104 662732066 204338513 500698806 163953680 748795053 526817108 927802573 610750885 118319790 577292524 922850724 371850561 852867980 517652841 530328358 742011447 157772405 261100977 866321992 669256707 863881688 466385164 624679957 644881378 545894279 494895474 461170730 829165797 928973019 282319798 344176724 976649633 350551805 773164389 173075966 451647542 859005625 635883975 879963107 791271394 443079731 839374122 933199775 352502234 889504766 180233499 651840466 102113150 916406100 448900352 171330712 464185107 913527652 982909063 622878717 791574686 378431642 813089114 956458936 520210155 305595788 642781526 821088744 506562295 580485915 891717811 532562575 752986072 157259922 400218436 553087633 521558212 520543361 959903786 146023399 440393630 755380590 698513029 898527168 659612373 241208813 996294957 865915230 994848119 207072209 579848189 442655222 413411171 325579998 248060132 893610541 784190410 459026617 382744110 551149699 789932832 779697227 700386287 337014324 748680265 629525642 912850042 548524280 133808103 122163628 703821674 559434019 136985517 541147706 368599718 650920409 170649056 842382264 687144660 656262871 634180620 253128330 971404330 786865732 731323114 535272997 121396126 834239400 508800318 507358555 192649641 190086109 535565415 366227734 353183406 479400861 175224112 264383378 966473848 220038511 894481623 879127583 432138438 915236290 122453129 606398018 206160569 960924307 314386889 499601118 216611698 277922476 815737166 450776331 716477422 239303224 567645368 700703545 692745042 785556783 791368885 182360379 373397104 246844861 235964338 573479928 831171140 812922091 719337536 627455521 336421900 794243446 702321632 170650711 192744135 258790676 749619967 360140075 368347021 561975676 787795592 619529887 905870318 958988989 939110856 782683874 430016720 251518313 768234519 280101761 666632730 280101166 830179302 627569064 850243692 376140257 143926999 302813205 194538958 805469565 550589808 237933532 401393747 312139118 852497798 894293693 668397963 143642180 338770207 112811596 552710363 561226972 131230745 576537350 188351952 241277386 851820945 635210539 462426732 320021655 120954902 722523738 730078027 287440692 537218794 653418939 731471284 606676929 133564397 108112937 181654240 201873112 875830731 281788611 190750064 823553529 206330216 838332888 269914855 705378970 838631738 200149482 359461180 408242595 308943685 410502553 376782815 131540495 845392523 213560020 222086870 300269258 451907983 167149251 708257501 678455430 671760078 922891062 744796283 714669117 267654425 576304937 343288748 380739900 733131779 915041905 532784397 182938630 626717561 206333814 243821493 737167918 540593167 659961619 945018334 418580635 435387554 847747799 240089884 101309531 242725731 491354714 205156537 610330485 961294694 192654683 836623257 252487354 222466065 732254819 823954145 727725762 850498311 261148547 516909759 452755756 115572131 626997485 764033306 882969984 528932422 113582124 715942045 284569800 700905090 794079861 723427010 281647787 303399264 705878198 399908518 602810893 457322462 346744474 180964454 153259898 743705291 424297955 547212824 420650389 723118677 859487474 427256579 623882731 442147676 544346512 857398358 839933259 357015755 137654131 395777585 310807311 829568198 597285182 596676488 910183686 406471369 361333026 185404971 955986201 924877443 513090650 539685543 106036513 232606676 292576604 567457524 811902404 846867047 389149878 428323868 187613940 999522019 352426168 435067220 632411427 281414126 796879285 148947209 919755817 912559286 472583114 122149855 426262290 446935285 926199801 402177327 135757362 840443417 410828152 147432666 615488698 247696409 831664329 880607139 470092508 456959793 235013125 358852681 457369522 797693043 685849790 271665467 496929459 813848054 181394451 555915723 717348620 527260704 966104174 992341210 238452164 793056806 803777618 725417545 850633050 858970319 707702485 315436606 204553544 311579963 760229630 403373420 931865703 627406113 529974424 816314365 216701047 247609156 994738420 884086273 887936361 973096136 310466377 951060599 812464581 304228881 561480179 974749417 634867409 123652540 554465967 769981488 278025795 647568571 928737513 184117916 340565485 676467971 293210176 632975567 519530644 460928727 519701279 666153151 710068800 996850873 971479914 538431898 845740313 206373982 301254353 930159431 953064898 665573181 268515831 899067432 394275338 921692018 337359142 763353877 714528864 404516790 285739007 748291615 903278517 941278819 477669210 898444456 988954023 638219999 439884055 702347507 474310175 122208164 402005747 608212070 158314560 579754998 398005273 646469419 799030362 982597266 818017560 154467346 233011516 534991233 118575820 162796456 689002650 835249942 567168028 734363521 710040889 699303841 469742760 461293048 819877529 413507176 604537208 112753786 142195952 583421329 429945862 557559465 879013914 310636497 536309114 277571974 557257171 548652105 722935231 109405031 205343090 236302120 843247173 649232042 919412648 436188298 760342661 678154106 515460551 522016475 462383076 549027148 132039507 805750148 639113867 910733152 505554626 582790863 538455256 970422080 389447389 934088648 938240127 274050891 677613077 542602900 273696470 159145008 274957227 440471578 944764791 730220215 151975330 575511249 778499752 811192291 215095194 653760036 552256023 803627682 777064880 943901945 827878554 575425530 236077536 837701966 786956815 677201867 382068843 284316378 609240631 553351451 399282205 235646223 270578259 372295060 357087965 115256832 171883335 516512882 751125066 357107242 863179340 831166884 840173632 585277397 330679576 638610324 745584658 436971422 570086082 337966621 278443479 407560739 311144599 125706963 996116434 327348200 858948350 755838088 677804459 387444797 642996616 904728761 470166212 402912981 217305723 732488636 538089069 932315005 275495635 172540744 161789899 708445564 865063444 494241865 579215871 678997868 911536060 153666520 628369915 884942594 375711034 170168623 738690612 913545248 147727808 418234500 943667788 660224204 648825119 225283314 928450007 205602234 343098628 680875624 995832461 704879629 777651065 922967231 292582739 505782396 507437848 620134427 913957961 988596501 293285721 710399276 989508104 901455718 619992093 283165430 749908615 304822698 298212767 808052051 908703397 394920019 229853677 830645866 328465225 504985856 789662357 979081546 205470377 876575331 173333596 282969554 113377730 978498636 370376389 397795997 865534274 937944741 126664462 993991456 261434461 656905182 486587543 239806426 187703818 942904460 505165321 180581066 834066225 350855634 553430359 790635414 423971657 549416218 794506539 302711248 278562467 776331422 993176008 883741790 466009849 666265939 630023230 690243044 481080930 610806330 780912251 860109367 345635189 206788859 701274015 385188441 310372871 967963162 689078461 999837976 475151553 549896477 144811468 577292907 592056535 859668546 604099185 749283711 152182672 195422105 971095452 295628482 576929084 265125030 270848266 466046138 935620926 286493761 702654880 342103853 972619696 355367902 127816819 984515791 233527869 332547620 717954322 732336701 538550194 696910903 419594928 135746650 764101546 104488174 478553621 972057250 821426352 710670962 505393684 947252305 442081379 323165255 593594612 966962779 437372909 930411718 463136845 876871221 505462588 974790056 596403953 278744481 320386059 754733233 890605658 359480916 564062484 945644464 392960497 200114954 611385935 733394348 568752631 508684827 723791341 517969411 708734592 218297901 857996851 797021139 827459824 770580620 772277683 693342397 307498674 815946851 905196275 950874300 760627953 750955050 276247367 787762960 840813665 309644231 758927069 184799957 402100668 975229600 415232200 923768341 443953538 506479635 845830141 226549340 315600435 896643573 163735743 137609876 975531883 761249598 889973831 603401520 621914427 179702293 747025059 870825819 227706444 652661701 357178903 804028484 915392916 378505699 252407738 138628671 772782024 697993156 949232689 618356684 290631761 567331640 205992790 779222839 543340359 667071694 820900774 847658879 923569649 604883247 834445986 771033671 740810562 485713254 566773392 461160720 153617328 381410593 361229050 137288263 909798341 928964852 876621706 460319089 816021052 713815338 613861760 718118012 674334764 916374192 678084601 987997509 197998235 573958651 947837194 475044562 446198405 661208678 657872434 629279107 180290663 764971184 511445917 965801289 584095303 677259859 452390282 272209087 364138841 322631590 761822639 690783450 938565230 135589193 314171068 881342933 220309687 231321892 812933983 529253081 413726644 174302784 436124506 940802371 523948643 776338444 258538981 839893486 857610744 930925095 284316789 792595545 399023821 490578735 684822688 574117925 123653065 229651999 751976723 896258297 771711645 995340359 218910516 997906397 572121500 601672410 498540505 121255947 105859719 956354765 189558740 690877502 251438739 947820259 223438197 232273539 568956307 433979701 694699144 500095185 406710783 497363642 542209370 585069181 692601948 852081640 439313296 598666397 540383200 998260532 923746535 427521176 878512733 450913867 732887720 378625216 855669494 448041339 936493551 523094708 763607032 287070596 658063580 484776692 197957255 164493582 231553499 186398090 425617589 510754471 822473373 132038342 562487721 209416425 467794352 970562889 398822202 182334752 881461914 504610680 569053276 419929204 857183094 271060160 931456696 262407824 424234849 161195963 420246145 499184506 178198972 600402116 837626403 863182472 736367605 475508785 991852758 640319641 108214288 707437028 974132176 881029657 686550368 489633161 857808948 807411409 492003615 171571337 410673625 593158102 550728412 869735308 621839779 980763220 955373950 210147930 682182438 190062389 395647091 336349276 772426938 925645341 697055395 378117072 232935325 330158195 899814149 284689299 311815717 907741185 213865490 619031199 916340692 948438607 803010804 888107684 875755474 719048873 174578262 960971430 205935974 998587433 314870048 102207843 637201939 344856719 905531050 636972085 869978148 216037782 717146128 687767921 990040683 590120597 875204781 775025886 617691268 106746939 958418007 529750338 793894346 949519246 816695408 786881565 435150313 134159960 244129994 727159730 989191354 484306090 400181196 837202975 847560420 627807446 844573839 344598184 360505725 296468911 497756874 859054900 387903792 343669060 710717684 142443279 241620832 424356311 320586868 494951599 378390215 625216539 134758583 807941274 184240700 156119611 943639126 813663800 474315645 786726892 850641463 790300231 318382763 900220968 787005700 900848944 893164972 910042040 432898728 283155002 737465818 302976939 495537226 366012677 533241636 776769874 448243366 909638920 954301698 569010947 642736635 589101996 374669212 786813868 138472616 548706171 317566746 640656966 328125598 345784709 364115269 256033548 316988499 847425442 519414605 181851415 995231621 286046293 387627958 373968811 109864856 147141738 529971138 812761205 161119468 549593735 679377686 148357259 131454901 439411143 802247781 744792409 803166334 181007990 827078835 485701448 170513417 313885670 748557072 201663475 313032166 694286100 700029563 967466451 315133047 873188047 801099030 251250294 577896466 265361111 259763517 233335523 158719750 677025652 571221366 844147507 568267836 318486657 809951522 704960675 634434123 310796574 990751179 583358843 717950520 434630575 574263423 473380180 731015827 874531719 614877425 142716231 796153453 785792512 864110765 563336984 429829572 823956934 447517933 498774188 812236950 320358041 811461749 936773767 552659277 740491332 171836461 108527968 339985279 599330503 952432294 348166721 754474025 182168653 493984440 258920211 482872487 810698019 663388575 395822719 404904523 246033633 782482996 403807029 527674273 433814228 859846318 622756075 505319300 903483526 970986163 360091576 311024644 940240167 144632529 851514058 785088897 240963475 920736450 864378989 543892460 223228172 722683373 882075203 416694756 794173948 440999321 795554938 724856480 863152336 211251019 489993816 907365619 729631825 324550801 242188046 909518435 566011371 740562496 250738747 719762693 162370080 911708664 651879169 925191173 597101742 566170019 222062360 737267102 349067919 167567291 597365979 698927615 403172459 879118078 984735330 859307916 949181833 616249830 544078430 267824689 253600798 485743762 548148086 786553947 990560040 411356115 109484880 518434079 533103552 429117559 743822062 324523292 356325623 743448460 208917808 565678177 713169260 523060532 593073793 388086431 212733820 820548823 913519921 160211244 818181737 951717305 828437378 104106652 537804952 270028293 182048827 860068991 816740428 802643810 405864324 390298557 956166062 160909961 568220088 276626127 439686775 386639111 143114993 650797296 953044642 915823152 667460868 508340696 299201215 780604111 683952997 773929687 815819075 185086138 967014167 316506282 859327198 635343855 982547706 489124678 416824376 162802883 516624789 541310499 720552774 449716672 131856221 851056855 138622107 971851729 111942409 115175352 379409701 969447063 712736302 264821254 371435251 487137283 933728966 225513153 646964768 480407751 110525284 213997963 800556106 682474599 518838268 354126227 315447928 713001126 908609439 901420234 339262873 961658623 735247728 752218662 352684968 116078019 113351652 526630823 608985044 128343390 368553535 400856349 375129732 886101556 492038682 772500799 442754619 334481750 535879550 423109839 136990360 563175118 359664442 839521729 723899097 342490607 392492835 623373333 899396721 488206551 496505087 979566279 994603926 820312760 855894321 451869959 768201406 718576379 720290953 266470232 320355677 266711184 638289981 717409242 355974966 956326782 701587864 907990565 781657397 665609601 533589011 476397880 960518407 456868589 389253655 505470615 555909300 746057599 410154847 902097337 669432993 302114514 386721621 336718443 320313560 678310299 557179019 469108059 788407896 455215265 956580320 546253085 455151412 840006105 156339283 595434146 255614591 527348337 825655076 873202477 158975952 608178372 124278991 896190909 294303132 450751280 364031534 173367060 588053371 231033583 775536909 254346430 632161794 513938683 525441372 215433158 880841138 659967646 222748118 796740336 530750699 631186479 236356349 614784219 908353270 118394640 697871115 907236474 981533618 541679904 716195292 805052287 616860633 154100340 504649606 407261383 273712083 834325061 578061561 862055215 362987490 278314782 170893955 356319338 865927576 108735740 355086326 923932368 860113411 194524699 847044457 234035162 377372370 739357144 998386463 278176614 889035273 467991669 548817534 650601289 393998157 322914955 983126920 827410953 831566625 146506665 823402688 945179404 914825194 213535612 754523436 263465342 242145138 108660823 371281318 352738098 827583347 293374739 751179544 395926940 166147750 357727853 395525841 981644662 964022893 730494309 352863429 910695304 451660365 322257500 706220786 620376432 724931013 821381747 636714985 319831079 865402576 972944825 278452862 725762684 943719807 347809087 917783365 110481712 402193613 960312346 933397373 343641538 997217836 955473645 713615699 121876105 914583853 555550565 926353596 336429938 702395924 980233258 119489425 251381782 598058687 718191419 781587501 809301223 322274742 771640127 304117433 474603066 415145561 226730322 336700024 186106673 423674523 366706055 543584560 868646522 419299320 997029307 109115371 636451581 902400456 518281286 276834420 770827381 254253524 594071254 993250344 779449764 185340613 234111131 831209755 294318194 526099805 390137754 110575670 731540693 179857872 871087304 839293868 613530441 187673352 444335441 512589473 159516133 389414866 346017273 873756884 245115176 932633523 800834149 717227116 856827195 706623459 649214767 181309396 230538877 171292120 645341224 569466746 481200625 881756114 690736430 942073216 312416133 564244936 582018435 318642710 792115476 672795621 881645965 203873994 837198786 237865071 610555426 655409951 421119077 833229732 510522066 627248737 524551530 199544448 124241416 320920099 535233428 804930037 878309889 532945743 717729278 620467266 732809582 834814928 343485303 328507141 905036441 647266511 240270438 529935187 820182501 355269242 948796352 891186258 682380768 690585099 354194162 423376388 738913420 556470634 766727985 819535117 470925494 452443356 158301733 978467640 846569404 188729529 375156009 944553574 639709332 840443207 146539659 763793027 296742267 357372691 986101481 280428373 262885846 966914137 404183259 380766429 864797262 239825715 755544866 586402967 907241160 175503631 299726906 688560791 543875882 754251816 852595313 282912714 435479592 804064801 723174821 634497203 472289872 983982252 781932899 368118326 314173555 812300181 754984671 414301731 278920740 292860555 390988513 772769988 552533888 421544643 548832333 164014685 653604623 232128224 919824059 116058187 689990125 732520331 995495191 874776131 650727545 286150045 310329391 164051663 993140130 934276026 745119286 997060560 158246515 545907035 343689329 280121431 759677836 820166179 312572955 575007534 621810070 271827566 471063394 343284002 136577943 127158502 382742575 825925310 870788052 117563221 245590194 408846915 865792826 530581412 446177132 301928206 645278307 348683830 277410243 970934168 845668087 627322346 853320362 685692592 614759197 329100808 414525584 695892530 131414652 597747207 754168718 102459684 690764773 325394440 171029368 996249203 633805511 446257061 879818248 166243654 966668427 172960020 142554593 430467611 604555415 669863918 617945293 966334207 202765964 692254960 880984017 973689847 645043147 115066817 613215783 753715327 541328434 369091929 987664811 690599972 591533651 813874257 938388130 203066730 671295550 943346191 271036594 428010807 605916510 968915346 915475364 638641392 915303032 336168502 369202792 379864303 240853186 301049104 507794395 158043640 713125792 468534276 321183058 378224458 846898564 995333021 249947919 931864733 427390238 201326186 469301607 980883856 906635516 613671194 312383384 368731723 904893344 993640002 582108651 242158196 591693205 734440485 110436373 761055868 358718204 171205378 347438486 745431484 198307044 535608007 694514592 614410979 962974876 833010224 205696329 499319395 704541630 193560541 538740182 220817586 835692664 426702635 146367739 847773481 518730161 377628195 541245402 177859737 168820268 567777411 347802347 461169015 144498488 503482172 304469221 385471275 430659775 978542457 421149711 510218564 420714210 908091021 272063986 578503978 568292088 356696765 358979259 197075222 370437446 620306363 662098221 327407877 239804132 225454829 717741368 822626860 699714416 813545615 610017699 899971091 316140654 983590043 556356371 821805469 612189068 283521231 284258171 662514744 934197947 871044562 737103718 874762537 738210881 139817034 529912432 448469334 935069031 367086870 652617173 773650196 754551536 873610905 146683270 836296607 544020994 665048671 819373408 409321940 763040778 716056315 567371500 482336977 513348945 762432061 678405786 206440367 455585988 845647718 451760763 349642449 458543666 793596978 249256430 837478294 539966666 355896063 933709283 902990241 681475698 643138284 743251500 958550981 859582667 942242686 392972113 172077971 111536664 113237918 631436283 830561187 344938034 636814679 556712782 844177867 260996138 281566750 481785708 287400098 442382874 772458514 657460741 932298049 484095239 642857855 750423299 816765053 534111974 203175114 531616459 745547278 881135095 665189370 101319181 177453112 793562208 214200137 652464161 384944222 381971505 446311436 812412639 693178478 877719705 229270213 280813953 460544620 951797926 640467836 268519567 647399530 131867390 223305782 805954822 336405277 274916881 153136587 512266603 120882363 524639430 275746847 359036673 420259441 156195726 303709610 584279902 172371279 761272466 547481824 971713308 430267649 279860020 433531838 297281742 715039094 860113517 331299668 716997048 410396787 212694013 115206908 170218180 480070508 210715174 872156576 884200356 872733698 887992318 166922193 998315383 127040349 435752907 424409412 132503401 133636511 289207399 467314092 896000643 422430884 122212477 995587744 987288161 473947396 426699129 548037765 422745333 909274884 827116533 439827483 604273916 420249482 321769371 587901765 634292035 877445985 232344855 810348444 602303611 573030311 483179146 582778227 630740294 935828191 667435545 746120421 433452541 634742232 360761853 167076695 941331972 511710390 846338496 501174892 373733537 570888372 185490056 664900757 538932766 653923100 512537403 780261148 332916991 196228343 151139289 778218486 436449341 451445080 908520680 962838311 631106625 164653624 390199914 525521750 841357017 187811511 107732515 785669563 486288027 355974448 409040630 455205393 402591578 327504362 296467093 247547841 382722010 830435794 706535664 942934342 652479497 308636013 647567843 118718290 463796576 251515212 828438765 780606997 247082253 952379187 594073964 166099311 965860843 388852613 286022545 581675142 115892598 721890513 184112060 734848595 411885179 979233225 593068140 665394460 563495420 527439582 629382085 164281077 996774345 856826000 868052692 110684638 389008208 577008844 128008191 504297638 281896929 446190320 375024248 377950512 602300692 407813347 613385283 554522815 851792320 450264679 600633187 538623101 402349504 621367377 267961028 661288349 177361423 867461288 746401093 455706749 836417234 110196863 776236778 873327462 744450055 548370051 309625492 693705377 290464026 606988690 670100047 696853134 367183195 550633159 568288763 903238395 988969502 431832668 518739818 239140987 598506718 394007729 544017493 542196131 672747769 172653792 938765848 614939621 298803658 153221177 849343918 351303588 453745748 369807228 639077083 267099354 724974660 521603859 768134957 434574905 126819665 222557316 943725424 551904244 657079835 877676937 339529916 925674378 192435464 120089221 564481609 620295427 438926738 157932648 832513197 187357195 470647652 426087097 264170751 673210866 314301162 976094118 358954553 384949374 479696665 847822281 842150574 685222213 730364305 801985762 368949726 386798979 650394456 808692559 400698158 740999682 714206218 600266180 205243042 269710074 700592225 939287021 492910133 435437240 473965424 835066141 326959875 514566972 898781572 318583110 725376982 496296271 541727984 132098565 320418467 900206031 703571234 494544453 717915291 868555237 760015039 351876804 454921057 104703575 237406345 543400511 358739044 365344073 852002068 657621915 308803696 803907710 847300826 361764357 192510698 150839113 856931912 308664741 264533125 971377315 230998388 476337960 497649910 931602898 641261539 778891983 562174885 268353447 342605884 668869441 133634150 391753659 986265071 100396916 579098551 338440748 422886324 530348988 380543219 220729819 199808026 610505918 287815480 270388454 830072861 986000757 496294131 191542753 794534377 648883036 960839644 473118666 677009996 199452818 191542594 531472097 782504181 253890063 832104954 292310178 479898431 172451541 167246271 946382576 863502453 570678958 296872048 290132383 769394814 858440948 105427363 953803119 492813253 788473293 800245518 973345753 918566827 831663880 614414730 749371636 432765682 220286448 877007794 176182948 290029127 499936745 312922667 400246013 225652735 555308534 736849286 390226272 487361113 297916959 401010612 604501210 536366693 547232051 321180202 601188319 549984999 125108762 192342399 894045062 219283342 325355284 984084548 795673721 906020335 516301998 483285931 262102468 810611090 600928494 394662916 202611661 724581875 936730567 318091464 309333975 559804231 753348317 596924394 497879446 524865029 502564579 114476276 984300936 357818782 190475185 159919312 202214831 578935732 278511325 379438748 767775131 539601107 709643207 468733674 915021705 395237942 885691914 327291451 782319344 777377356 557389110 337651465 583155094 891440729 746676164 296319427 580234188 606733439 956588097 134986919 351442198 269051607 607831567 546682716 287323443 979867003 371903442 799446804 369687613 162517760 545412145 570893510 264258191 374958726 400566654 404772981 766542784 681045344 183497876 986944390 605055545 408372332 638239481 440082243 404368934 307649868 745513950 655987208 103906606 249859418 867261303 357216675 921698240 958220315 828326520 325983012 938962644 235582266 335916834 854056321 250724149 102284897 218366044 406890541 885762674 171764968 732357326 600960719 325997553 868097475 572379814 913172315 871527267 845917704 804512226 691257860 405131924 699130272 774299678 504366560 970713020 517066499 787184111 369122099 317766174 650133817 406972912 604326017 721376367 727922564 562527754 828524645 427865887 401172616 511515324 119103686 797366884 867828815 768310718 592406852 935272824 455189432 562941685 353213834 507567069 723891456 889040323 130082071 108240076 543394094 753106697 921417832 356417694 439140847 340181148 987191612 924347787 119709952 525490800 713822571 204272246 515201621 860112299 798608773 108549590 178434025 120612063 890584005 321585328 295925291 560481797 250784688 891343833 265130845 541773775 875548834 294506324 208768037 558326110 102811171 820432505 489526101 834853150 632160458 775811105 679886675 415897485 234496171 715966034 800903045 673189845 656459501 447650592 536344869 185577857 166182434 677545902 954127727 902497932 970532441 483968044 889514528 331664759 378493694 248907592 575975195 693466984 110051776 363794189 154052309 200596565 167499312 127930965 628062445 133391786 851000447 964404105 723655990 529454149 981056995 261639395 591706770 360205525 532747777 214737642 527003244 992923127 542110861 298397475 615107118 317650676 675274449 528207157 448324104 833886144 301018483 175972875 827587374 674398394 678304046 913523830 261001653 196535164 134750413 781716957 427272775 131217070 648341922 443319628 128250667 274222464 192152869 383311174 442255068 725450772 236496647 653771871 601792968 788984057 370365323 982158221 617360887 734101242 455360597 798167728 591740184 336243017 983223315 566631035 275004689 961810459 791961056 750446115 655568436 197299172 376370468 188065981 495628628 458330964 181296380 658347508 262950839 467861343 836490779 703163207 191922624 363747745 581882410 519101295 828900497 351825046 552362121 709787994 360964668 114171577 199295712 360027876 747275206 934548914 899956227 779170190 965911238 567608329 398512116 494052743 546467089 877022030 330064763 160873883 266555890 416250717 482049095 697164116 974137407 417157894 879502822 974503931 966764961 208266519 832348441 438221063 873961992 468255415 154399616 142678040 198180480 413708440 326152426 885035854 379144870 632936744 657825143 383348759 418059384 692444321 931975481 573223497 517940941 250366081 675615744 414846129 469067244 767289477 674573305 389228579 692675281 865167779 909746305 351213781 892558442 330115644 427701390 244937027 587488200 285171364 148297900 209844158 532092026 973504514 224978172 587950859 872806198 951226542 738260772 549285635 764170204 934033643 840106769 270643094 126987897 575800939 852300668 481868955 129890951 951253172 817630184 145887771 779853962 383220211 521309528 801911120 131022134 919955098 557901337 123473351 726612239 596296479 239792383 674260827 676610605 662723525 742026624 757095333 434540812 975883235 623499699 358679032 325425318 425414500 750164711 195011140 220564575 852199653 105599463 504924881 521317442 770414645 903353048 250556509 814191044 552561045 772408977 901152480 109158501 584554987 574710451 591658399 410738834 585359617 243199871 158736647 878794060 479184222 704617675 605139386 930249736 141018285 990522760 214653213 613827471 299072511 367403212 233623030 303341977 118286918 195749518 515682081 649333031 117101682 109863846 321707897 551645197 922231881 327084543 891270553 387949702 166768819 421291833 980710197 733254123 314414810 508709087 140266025 302436844 858759085 189762567 363574738 900484196 198752063 246277821 327364911 501385892 192626876 714947322 581940551 195620180 431382611 991748765 737372259 294056121 212927879 167283437 643764088 153229734 520981460 854507282 436721464 642196927 350955055 403147619 584673255 908212534 729412511 826516763 488248223 140350981 511236665 866253347 609061825 410131560 146712422 465432633 197483948 683318272 472244233 899711368 278320142 632482819 604456634 227106206 954592787 358811807 532074185 510796965 830812859 650984523 494941880 395488776 144081695 534975639 591535902 961909134 374329929 755303662 892333964 240123103 127817061 930153236 524338192 874555965 947389434 102981584 281342726 688744635 991384840 306525562 582516137 558410689 986288269 132126598 265467853 320687435 615835178 417502142 144826251 583095656 715335341 961217666 693550720 890028922 571028915 983856680 340129092 436558974 297413225 852774414 189417485 409003655 782366447 688955095 945323181 595210975 560401539 501811490 337045229 259333904 890501519 745237049 200518058 732065297 811893359 503978122 719233090 645607057 300532717 495079555 201697373 507922438 638987501 733477925 361206643 318312345 250645387 405990988 529439035 908604302 566528880 182062150 540883807 818451445 116300347 903637003 192316933 142300234 445765622 947405197 627046003 125259944 552147052 482189925 936462845 358131711 621559542 121706715 230449693 136079144 467332195 398993266 225813021 209989538 799065353 645943765 232431217 386370502 181371029 852931890 652816034 379123291 980324735 132667939 581621123 337565542 229509427 980985865 518163006 160563948 886784860 802944873 112806630 825772329 499578920 357908265 180726159 797711386 438958354 958782992 502940860 794392637 538994187 686942263 453219306 799415248 128494780 995106335 134316163 473635335 323011925 164161222 281098200 332966183 660636837 704150347 358467335 698448059 921454414 537243049 319749851 231210984 773936969 188346862 571255232 676932622 315769506 626270161 208429585 600141325 563211872 393311943 950711424 546509490 406096642 404457488 576043489 895848505 243022991 252376737 317839359 589984501 508403610 285333596 790918367 981675844 869352334 169112999 499726620 528679762 932937957 719148707 614683220 536938307 641314167 710642501 461443644 682579676 560635770 700333374 301651918 145749523 200267145 583503774 430696238 492854553 991355429 281371171 816928344 443927635 532099478 712681622 864142234 539119398 603364901 696190079 677339023 381568712 936692721 410499395 915483529 645587769 250799071 265948541 618460336 564986774 275441570 421199394 517390878 952902327 382186052 934313203 974170539 376319687 690438517 983398140 728465207 360460399 915721289 208934449 254716854 977738663 583558951 570475055 681719878 291157407 938564073 606670780 513558032 589475296 350158666 132252530 287699278 223600719 682735259 426607984 109829683 941515425 963683937 448380431 159685279 538711493 133400349 723942209 480852774 728884324 680016294 123340252 981731969 622735226 935258642 218810890 714433597 300973033 336895658 925317924 440239669 187097312 952750542 868250505 432144760 188508849 653720084 249314478 547640504 725746283 724013468 607070233 182075412 236658128 239495580 167208156 141831052 211231107 107060765 461383179 966457747 633715022 518640246 980715513 711802199 735307005 129651564 864123759 859220373 380102277 695602710 245823538 535157443 922203196 275397028 583148612 950619900 317539258 859646304 548685170 167554943 628366981 601547579 640175201 508349690 300377771 731652834 412619188 122314977 665725072 598652397 306118830 245557713 445361019 881307421 472491891 531158443 673644022 471656537 776317851 437678239 108988708 707888132 266374177 827771387 912962701 783549461 449790569 593778990 131364959 801576039 934055524 120247538 510355168 751600002 780589619 721252003 856354428 119918792 482079358 361307457 535037248 893998040 463925250 194356102 615027048 183121965 680211284 405930397 121603796 331532266 516359907 398311663 517983949 806555416 859175886 718324230 479645212 895637624 592597529 443332721 245733840 717254375 557396214 452903485 806962043 761481478 418917294 558756905 418811766 731947831 866313932 516036052 427721138 825546987 343389712 543051957 917404927 209466995 106854040 319288427 876102855 155355297 928147132 527531366 587386810 976999132 327898532 807390543 900440173 706292870 789972082 824552598 198717714 325286378 967897279 324632137 964906736 249154034 421995649 476367253 995268089 796672154 978987664 714977996 729136781 328189458 881381052 883105496 703646792 849405354 260742929 682761041 748485584 474133145 781920382 451754865 970814215 924904049 966910673 489935480 237130946 484787211 450207934 744643269 936721127 667917193 485819400 374431621 165163340 364696548 783437501 402004312 227899538 835347886 465402816 502834592 266744819 689786455 420147204 872422489 194447635 719993047 938396929 144573382 373400988 252273045 885033328 816397225 374632683 783399351 108422675 158488274 843013544 126905376 666640048 180590753 252693137 249802167 197454132 914541430 788961147 885732062 569686543 457400676 235350245 663788803 997676486 841888126 953842753 823983679 129654234 888363091 233467430 952384774 170828549 940921598 443920603 534678576 821535498 766737699 165405397 781206642 272060427 223666574 109150204 927017808 176078521 979928120 644971732 889749305 988364110 432156099 193276438 162330993 453981099 255629730 513008146 310953652 287645611 437948484 814148449 914982442 769613184 602281076 853249267 246792507 564135109 690316276 191798390 754507841 856706170 774582537 383449586 552449198 950313908 139758967 862250145 798930738 636844073 104392400 923298499 277619371 280605789 232378657 870974295 832596721 949168208 361657177 559367598 485878866 354979391 360737845 791410490 141506396 727643456 961249017 924335010 599678412 976441195 779736369 396123062 920603816 429719013 128748159 164555989 549368111 753903911 225975550 764326709 407724942 646114525 865193004 201412105 536205825 484897942 694191023 835262743 324552601 212197361 110450223 478583391 139703523 430368281 245776813 589538711 538948766 204983306 827296505 516599615 221106791 134052628 282279446 253539989 188022728 409750264 840113228 345858503 245995767 938694849 204573041 781584420 937424735 181905608 665089233 757319706 597539528 450664330 363806610 625577823 850770998 660733399 831851251 637855341 602333756 482925845 649271842 966290692 720684051 295740626 609534474 393311764 832466980 628180364 627768599 807106417 801273086 272020708 231652919 890308172 864767557 238241535 279366508 161944448 142241311 944854750 820139964 751879677 852702400 547672213 255208868 893140811 638178362 262480051 969790072 231998824 873184059 741230396 891887055 514866525 342969772 105177368 141000064 152686746 910191392 886526308 416572540 643955110 477663993 804580342 188059155 576519483 619730790 511281719 606805252 752778853 252225224 679245321 577343853 468116477 103317994 707534134 307449197 101084345 546367901 742076829 137425913 465643514 392344425 394360746 506221269 656492241 283519334 831238522 982064594 659930575 114123558 874214198 435479457 180811417 338899371 277837751 675666348 645852369 472249596 237053057 690031550 615665857 989630171 329162318 110776581 590644775 734250504 135570111 530928763 362337579 325223229 971248286 886060018 678268476 427392020 774156078 568613053 183931603 990579409 930508598 237235318 355842094 430033623 432900984 737867540 791448903 944403957 664918373 853666687 904602118 728470563 215490417 839065396 632434654 797450810 340112004 356706871 762460115 850822925 671337197 286029804 338926587 390691173 423749800 140773527 317061721 457799701 258629378 553551809 584015883 914207570 159129535 980273631 111365616 722423684 269264604 725076107 908507089 936912589 781247527 444811873 928818846 345426786 211013204 572650470 830058163 434829998 257816950 969821462 841854529 899088646 822147025 521233387 901991204 686612410 837598783 278679278 438371154 423342757 841784207 276750804 408220551 416191070 600674223 666313509 887722682 806513306 856508716 827302367 173832442 154462810 334101354 580377465 371979014 798235198 986050266 777236324 935921855 356372586 562409609 715280312 472027139 338727461 222070841 376188023 431112858 732953043 910731019 688620156 794082857 291031623 791284862 199957407 129697782 228488877 803234248 291105610 870806414 183192224 972074499 448219059 670464943 724033050 645090880 242148255 464323303 395162962 618461119 128228948 568967442 133918752 257511337 148625218 421699084 964142881 109271537 497695742 927734992 366401336 920969354 135425828 554405427 357498004 160158831 470096473 710821293 482455556 146828852 739567244 951094723 266814547 223582692 982247869 232367992 630895873 201991133 477912601 334900016 358720375 384284876 579994935 456978234 892464780 899420700 798495841 105500096 966843839 765604078 239748848 992458691 473429108 459286679 215027295 713276035 563123324 489411942 721802385 808168243 348355021 480465256 400081481 913853351 114392512 245081173 759204495 174037298 424699258 555335441 440792779 984160023 330312445 786429445 504111531 683908344 418318164 786541884 787625705 247845620 377121728 130002212 570553641 165627503 399866489 413719938 126778174 753307791 445577668 543791287 296781007 904485716 620393121 164411499 867680692 893059799 767663089 289237931 592217218 444422100 987994133 786068905 666334371 462562513 123413728 429256394 167027192 282830222 894292161 804496862 929553296 176580448 892306216 985750977 650058655 258780312 137843210 541791707 859214403 207480812 409856410 509717061 152953831 805131727 506630528 228113833 825771719 269016771 812926886 276293415 269567700 923960116 867928079 296760582 781989774 157541836 982853472 815073058 916360534 904120938 178390870 977947160 342207667 733352779 895556923 806070501 804503937 321701734 628052459 305200183 302709249 816302366 517774342 580646350 603923324 923500142 918599139 250874499 269899143 718346459 864202142 298319780 932179064 470811032 466106257 955994784 469835691 947299116 458570175 706373787 568598861 972731855 884747054 674995449 937308627 811072333 179113968 263797536 719773645 600563075 334249066 778672289 390243415 825552620 993303333 574032731 845969718 684872075 573658070 708179176 152617480 735664457 460293448 442560794 580904220 224027226 194246111 870932318 937751191 540473848 788857725 701375490 486534271 656823808 421973495 779963889 972634635 906546930 651821670 840215781 543486550 872775621 234622224 296243599 770147775 414351604 626438343 360881367 988653504 100572836 183506989 274406956 149140127 206082568 800650511 681319194 702062842 512180617 154421757 834079472 272419189 189224964 543574299 163684957 128180406 674637633 627980711 595041194 241073582 644699210 317810945 909546428 130676575 462591727 278540520 514844498 471687615 539823358 361436107 580330937 733663832 426080058 884360680 386633598 166156876 552772505 843163106 574816360 913134632 527162850 947800291 136559812 901165322 939793573 476743354 922271705 314492540 850309407 447110077 723952117 625268374 122761811 795667821 617510181 520270865 997192021 964306424 281437181 163056659 671398152 562697677 396373115 706623564 484781490 164620972 515144405 660941302 191715530 742397522 856773192 346410601 349013347 414175619 786166825 441129271 723075496 966631185 881353865 992656227 451762953 411448485 632893961 136967364 918947077 668820934 718522569 459913247 374237583 928098426 236935533 847983277 433475788 500728902 820221726 565030856 534668652 398980958 866019243 970371165 747069061 386926955 492701639 402096737 165462764 924027252 439187150 133562417 480746704 467998509 835119759 714698525 684131731 665256693 991566702 431812530 924199126 374441741 987628198 907955255 560596515 385670843 911637028 845057901 507952182 307131836 169687254 499419069 755241645 650484482 347815268 593981111 661725004 719715311 665513013 684193725 925477391 614600810 639509274 727125060 226842163 321532885 448520601 544868470 112902614 423398626 965131484 872274067 915285200 471307824 799537119 514465107 371164092 582514186 577612963 497481144 154850465 621406617 540016353 421893754 227721539 483673791 243030480 605884103 986687079 724671616 655464876 197891419 108403457 264491009 278265339 104773669 703251793 427855145 823943177 532489356 662397922 412070421 940868848 641335490 985345179 597304284 520777652 865957573 927677053 356134684 400325874 455899398 807437174 551801301 995041994 771222197 809611581 970578676 647344714 542130594 594006844 249788335 218458448 967972759 450347147 466575153 581787019 162474298 770015660 535196960 301407139 838366976 610624300 912857827 824443696 448444414 596026366 478751282 492662391 238008568 765352336 657121473 904915345 340104049 555246707 798053270 681460620 244763429 952893053 972043849 975585916 884711897 725827293 714176024 534165236 904011128 958308508 335923708 290275095 789171439 600355385 613756680 919756101 937012431 677240445 306219765 657224346 545852690 404202854 253402704 934986346 536531706 456499832 440896140 847319506 899358563 563257997 189353710 984304453 121732384 963837753 195669184 181566535 608208795 612700983 755638953 860685416 664140717 731179349 917935333 735241025 477599036 915160643 302765820 555636692 428777967 176242961 800797013 560219553 351289319 976880495 515828385 232922592 174830201 885385478 765517725 636270050 995431094 624273817 318356999 779202112 974649665 482422093 166245964 722962410 169653347 495191901 926918109 464499845 771029859 714865061 315751544 330619622 653572868 306736916 727484262 702165462 721123229 624037479 123015860 849119369 213901444 799686793 759440542 786086848 141184650 226100739 411727156 331578122 533074717 213775308 519855743 571173408 870474022 659238551 139982123 440438593 944663193 931679283 793566473 707226073 907050199 732244862 622352732 417636682 851123701 703039367 415145266 987328213 171773071 250238830 397926438 193302863 864845331 701115061 137700362 888399567 253074463 572436098 767932320 869260680 987628182 699661935 591970231 548469358 149101351 796127991 895418730 303976794 485904540 583527954 416673290 176019232 597299265 434086634 144043184 210178399 373887278 768634721 252760726 913111464 860644630 911223766 788451859 645627704 609915419 512543951 236789578 897730239 916601576 402553773 842564765 175273916 849491205 343602943 512806952 285312286 130355604 880451774 113529339 602039192 465461736 847706298 704619244 223786487 143928240 789749077 363291733 983473467 951309205 942945873 560803664 883617804 824142271 471837943 989423310 864208071 148037698 397486896 931434944 138644836 983089564 456255923 321900373 609667385 974511081 559247674 585708521 194533285 371908060 158298009 334610072 953769979 482147454 390803785 476772948 664708372 558765388 799414260 609412522 875648014 922543449 698951255 290072594 829448626 304199311 848418664 159418802 787570671 431701659 324431570 478436884 207628476 614643137 951087523 251394089 319852860 525802952 966281796 436507601 209832078 951830921 134250935 289055456 601290527 898390652 235905665 932345112 351683040 394512469 663456386 437706336 900845019 701896923 897353289 141216782 778835668 460441288 804397433 578366748 195214418 787731854 190330385 607418152 918194880 281457813 796457544 452790028 455288444 872983613 517615635 826202887 311250087 614172981 505815406 720222097 160682702 263470615 160555813 662133919 238475382 350303270 925696325 860605931 227517060 723569382 345627156 854190215 810740103 236326649 158919456 175931384 162940399 447972491 732499067 396177870 642064226 131685883 784228888 204353139 868419490 723477458 951539052 531213547 700818199 647583580 379110115 315930758 126627637 478744434 432855447 209591967 392839128 585424209 548529314 656287381 256244712 597481477 660353307 465006668 718573685 318982085 398647390 772815671 742062480 493221689 184681087 217149386 860131047 507674365 425625429 335847630 546838513 624504811 135909254 976535443 122647716 956123866 960275903 675521341 839312897 949453282 247409441 806632128 485453522 800435554 367070635 138974015 287237641 723746341 503380880 989712084 466429186 359976784 890687322 975020820 866688373 498287962 889771966 701208993 247833392 981804567 288740340 195948692 125017771 869573729 321131403 218373245 297867571 222343739 685818213 457278816 230158648 621754489 496726071 654099084 509558033 765263921 983687918 191131917 240316032 239158460 479838067 798238611 722577865 828545666 557960993 116351750 520065694 192646620 158161889 120942140 235360420 697067858 953295781 116675273 620775652 260134601 645564654 631930230 611764503 894393800 664514037 152799106 562735559 110467348 391239477 869918802 992397554 492536265 122496215 590435704 488385281 342179572 625448341 921262326 978846917 396785272 285098223 834447146 566344959 241828280 388247246 951320802 168683741 238206252 100479155 594697375 770692890 729547766 642005820 795941746 613419244 797572638 993759310 927104118 982420605 108940790 155523545 563811124 142021501 448672899 154912289 463996219 130122191 364241677 663453426 509685395 911658173 619143611 767919359 471776046 920056990 785666239 808849389 871997459 563906572 783556155 548675040 710025551 321489864 680300793 804690484 163465520 218393730 608995687 215748254 867018348 863450743 522280789 511882860 861378765 841253203 420986210 926985287 222736707 347410656 511732419 116743672 280652389 775416285 431234274 323534676 480007433 307623274 483630299 540813563 992681445 984218934 460641928 167738750 288389926 107427992 472298254 341143097 508808495 640564382 765689198 986248213 985606069 474502577 553157565 137407976 327667093 618926315 914778623 886951874 658636696 768788160 359806619 362824800 356452723 794192566 588615721 172023934 886880924 974484644 517019457 482865322 981045365 996901834 237976530 158165907 240409934 825763177 355872018 455101942 497114562 728037422 934198944 534609135 409706541 487762550 197426340 845665014 960607983 624449602 689518831 275337108 286042230 296236312 915328219 640942998 394335772 893096650 408621582 900792509 340488624 337327312 388929291 632875723 972177589 552660141 330632775 141682367 268164648 893944303 669310714 202576212 451072838 870267511 355115717 190275893 209983625 709205585 177606610 558821623 500684022 123480665 751633285 963301222 638183526 596168582 403271413 991127813 849751135 281796276 270779628 792747881 719583474 696216829 278772583 990018423 722477940 214708714 454060488 389637808 100532365 438684916 482761170 280629411 940708298 189781751 253394601 845929119 879498652 486562213 646290120 909118018 336339149 136436040 160414108 220331459 559638018 191718104 543657662 418677899 296924058 505670388 111723685 850366670 958833328 315917305 244624394 477559403 164853460 688082961 870745160 139208092 695454463 527172451 266287858 462479871 322925649 342264762 433279605 782041291 281235837 641875412 402942616 149774705 164795668 456296605 725915359 203364846 381891450 734697640 502278968 740614300 578100636 476624141 338055697 553717971 755299146 684522306 778845755 176412880 856378831 278993273 859948955 364428209 825674129 780954046 273309767 232027428 905687532 231966327 163387335 661416386 404166638 525964666 372076225 632403044 299842568 380460953 469494505 241479515 939484571 194057238 540093652 234242345 246631757 488187314 530120503 325617784 600623153 654861802 639145087 258822169 226934901 101627073 277888103 373366866 817431740 579227718 837753033 840287325 419755498 442808450 179042027 301418031 151485729 459568320 830942349 833836831 227170942 862299868 105784829 625044901 310650030 590237551 872911996 546751954 298365659 594378217 154518501 904723050 727042456 956214668 193687589 730778450 390437591 260388602 142599466 136143246 883498820 308406027 496170093 338714331 713513355 529732521 959571988 212323629 899429871 668779875 628414600 627307580 529261281 858556709 460597565 405960085 775344769 973911471 821895076 558949715 572469355 182961040 951579743 210336667 529162386 102764867 228195675 395171653 275623778 737296361 347620988 916604332 602583976 835138942 821423328 222916207 792511036 902134312 853153145 435803448 519540298 287031738 608375224 736019055 604664204 595551119 430485262 435551690 211318770 978190098 557416045 237498547 745690866 366331404 275794649 948075478 948275572 781352964 991407756 722925583 565575094 506419996 986016868 601544210 326754425 704347857 137016984 475594349 363511973 159402456 706810261 233297065 647995887 806455371 429423760 549312150 964548235 518580268 211812408 936195364 304053922 540380561 948356415 506337510 179999557 528407603 730206507 338620590 603474451 585822083 476566238 385880487 668837536 752676565 917139612 450932847 832923872 615379810 339889682 845935099 548047698 795310004 380369342 848131470 134241652 367421933 189366531 408813353 668702678 304619492 198723739 877995440 279685752 704214295 750535477 191233733 652903056 710832849 788191256 122559638 479101702 337343356 304582453 268638739 621338624 888545604 877458449 684872876 206689877 507221563 798921972 713130122 233875599 129246424 743984408 877219991 582780687 230482161 470537740 129183451 671686247 390390139 565296456 187913576 687401062 124505888 875034354 873726418 801257431 335107240 763904656 973312751 292993074 852510950 787572518 668496647 602451990 578346996 653556636 326140629 492619180 213697259 485039741 347116785 618003551 643183096 417979671 467306296 552201800 821715704 468595430 294780299 166140839 120738072 296082473 600935474 230081468 786857170 492449782 778318111 450381555 478697153 957368898 677914328 385928670 533399196 633355645 148377524 596625424 794868309 955353235 350289954 523828341 458021692 794535927 585716753 405343402 957096625 907606128 718438964 454708942 487572017 573420947 129631543 281367595 246433198 531829121 528112119 595448737 859611283 673776429 943894529 715604771 135150685 378001367 527430498 349918880 957789305 999373496 166233515 850909704 430445894 339876399 609963766 335039244 655670021 437709679 613129523 740943956 419814229 160359543 874778502 496236237 314329925 502598210 763452249 142841868 689646945 773233830 175529398 543370165 218140589 586873444 228292144 407043427 940983030 222175706 571851108 446372014 346341144 348341293 107022116 874570112 106297000 648807293 132669925 219700974 382941769 773079224 618142743 814879728 524349326 968916767 449782151 222895799 499938002 209100731 838847438 440942430 277806481 300398217 264300446 695539688 752332096 973778302 470478314 270207656 301289191 719358584 141429675 993292848 874907015 234641618 159026388 678008954 197972759 954761902 839710688 875242421 405442982 295572132 439674976 519620033 272003984 388541458 141071382 797524288 637796279 519354703 114936354 187389953 938065886 198991808 589070696 158361628 123349796 912293791 362921770 697013181 658093588 426670239 328739769 984930147 428129826 355391713 574126373 303775893 707083659 764332219 169094683 652783761 109420410 231202750 799373584 969666474 517174528 972594333 966031510 921693416 359979764 642128576 840429113 655304497 210303297 927755015 493818917 654195516 303694034 747935412 794368139 308650612 854367702 979605074 729419560 659293274 562532852 661651411 706135828 189927775 572380635 325586288 894116974 636891791 109287101 206334189 484764137 432932752 477950921 866255243 496083798 682786479 641500385 781405173 139775156 456977375 894296859 558281073 664488160 154654656 734789572 964857564 501353367 263842735 658942039 909200205 997063812 101875864 856664588 129970683 328811125 411453778 345787018 961754535 797047009 660411850 165061026 451218611 220630068 659344513 162316072 540930360 116722383 659386221 460629484 897177744 561902077 706714505 875065474 720010520 174141646 254490307 969699980 801123415 335317062 234779745 579370964 336471043 544432994 436434614 746270445 359325167 313346588 452974423 343015063 834538496 984954160 279217875 680174648 985559911 705243685 683125973 207040107 296837112 248966443 346641131 952760619 870273182 374051815 382407089 334089556 843144472 737610239 330502680 186147555 279674193 231591725 472360343 347309224 624082574 418924999 723652811 275163847 100401183 635115411 784292623 928083924 328949964 558013579 475776351 777027859 413889935 157308511 130820029 329492106 436946806 365205810 854242917 850152328 893793225 956262751 464314475 877683646 723742500 366364349 416528184 850561113 944178792 615674695 366579952 689491104 604910828 686685278 369771773 821535060 664874886 509378805 817168834 688373490 885220908 500517583 519524468 625065863 122775979 354191157 407750535 773845283 440575868 614959612 146541528 742824488 779401901 996031622 838897366 195135552 396105937 290210637 966280068 745090957 958981075 336162692 467580504 912003870 974424728 942581287 176407187 227865726 815638162 431676484 425440256 235443046 391429836 600711156 751882630 859348303 343246237 460589554 633107310 143960442 527512953 611628702 874271692 997344524 549116129 480417938 879064903 809587491 475466718 590032232 264390349 380404363 477523419 530313205 349968299 575473917 306804456 130788767 706164361 557882846 565186635 967792543 845233631 981986471 586695374 580585108 743501266 597735995 188331022 148535345 115616762 675480937 663108498 455499785 170476628 659187992 452484305 471301298 718161030 245791753 484527927 328447786 618244159 595635663 511648880 898066431 381912685 920050775 166727902 527978632 283607378 881106871 783221894 663600288 229963991 850061285 728988477 796306972 597125978 782766867 749192655 309062641 256806630 755995681 494483763 898088819 556622140 818443188 907600925 266940144 777883636 856654023 211699658 953458507 934995258 533951902 343839211 288186380 211119277 979751857 967374719 211575305 624819658 203439580 312991619 845442937 737727541 209638911 212321069 946358806 800537877 292662296 140775876 836155723 303414422 759527465 988094830 239532699 195504150 785007332 192672735 146207105 608521854 573136400 733809412 896533275 784307196 922721491 547669837 193139894 715377195 723747149 567042582 456561839 824477547 774220698 512541387 910950677 405328164 880221633 509699491 895175408 817075120 753256699 202621047 539144029 958439382 369727825 509057323 688626197 307455640 766734279 420782420 840939408 580543179 795499704 904883603 578633362 278822154 549905593 854304610 199282553 447821721 295840071 766309856 708322066 531054653 579962786 241961612 622110463 883719198 160529982 307035274 342500342 321097440 329698760 796842498 342573711 801353819 189650707 740480933 329291147 801543958 506647230 755892057 574415267 987501467 887020971 664962395 991198574 510590862 559252842 981536296 591354217 263044228 363539391 338024075 606610113 124655752 591741595 167509027 401941516 572117679 887857184 745272868 799828428 688857085 869779836 538034906 924591890 464275526 749400320 465449159 999541666 809630402 452877755 993365746 592993741 330313146 299361651 104820732 754499898 629962048 224833993 398280480 754616037 894551939 285458147 460896130 784381823 638341222 814739642 677470491 204580274 241379845 846423150 667120351 213542161 283663684 477782538 305900893 304375108 982025956 668232732 582523683 974630864 325255264 466131141 681831505 565432525 277149032 612405217 668171066 535855464 117690208 467570035 134588289 377067809 755265415 568871588 860657238 589386581 721589050 584860580 622715981 913158446 852291022 854646984 681685673 123977886 752514136 995415779 903496914 518918528 832247945 909875793 329986637 292557613 346282929 816690320 281195378 649828812 594207480 238668792 259876905 767272633 111873957 872306708 503223597 757720762 121590423 310051190 227075096 983824464 980647046 785698847 631459340 469276896 829717100 252544418 251818436 762572956 290300916 238056717 539692030 563922816 817661005 903920164 192005786 120114296 348666477 796941360 417077264 864597576 649420668 597266659 985285862 109784054 540528360 531507000 105369273 539083210 606795657 965718169 729875254 441500757 485011029 264935463 668739548 526216060 611816916 202995372 544473738 485319455 120617602 938079153 343123009 896195776 472429978 814757466 152346819 384628831 224409479 468776538 667918210 787232703 128855865 882267199 616978969 816833029 769479836 615506772 340514956 933285999 708231611 852666934 829522001 198635917 194580276 407914664 353935977 224529933 207992531 131846163 152556677 179250557 640562581 775713364 570265521 263271264 778546224 950905048 354795261 810165573 978215947 570261397 944929189 866372664 661755110 729722332 914377164 347456751 435664730 662649319 492104524 868840553 500112919 687120988 760665287 608003896 917288524 823394551 477610316 329432130 582604339 201635839 862662520 452878058 976308968 808002615 305493672 933728877 137693549 104850939 195650532 313589485 215851276 260382791 549029571 908495384 283854867 213089362 387359250 490513077 609396112 396414762 848592349 612180500 776053917 104459783 635888059 111452336 617707966 250451324 805403599 502083390 217128334 604026328 137862088 108552827 839974588 200012386 704729566 965594639 953880333 822942684 426787216 391919852 298529679 891966887 132943257 716394639 503889936 432768937 449994277 525912651 251722818 739238261 787189412 174086000 654670907 354760146 507442953 982396087 500991496 892323465 286436725 789682413 912898980 751381404 802441417 201082088 539448623 680252480 789743895 229627129 115819763 369570105 557388808 319220179 978947186 112235892 998847714 992929276 252541217 915833364 965131738 976010073 792520615 755251834 876313250 921509345 357795582 721796893 272955854 596059199 651323561 794599604 158687394 635535133 709075169 148240290 982801450 905506045 814305030 947726279 459608396 551828396 730337943 452862823 739632666 127716631 901035511 210911915 832928878 796122261 785792599 431454344 595478917 869114216 501846296 248932395 832546508 878617177 813699606 704212365 703834985 263382932 338747749 815117394 484931847 313713703 139639823 631743808 777925295 347797096 776651165 619288287 136947547 783548982 794616652 887769967 419270950 152360001 989076669 112287667 646046377 970827965 467206325 601145610 341157532 490153163 804083535 374515963 810366440 626172994 874466634 753921650 410263904 384213399 944044042 922731110 781805445 570147744 880459037 645862489 617277414 482253000 864517016 559578742 505757129 420791523 166077592 713172162 740620678 866200878 602888691 802373762 213770041 486454886 811990442 242108707 317945479 192233419 935301926 847842468 545108405 127814969 731659999 166144972 209146035 226630866 574097301 469488706 860328234 472354018 905455952 435979971 129369511 766486885 715178270 236068883 478136149 824714923 252854637 785229557 866599016 757525547 561066128 289947441 754175438 908867176 666519651 263103747 248713366 747277411 764436387 824747985 803536768 805754810 302672758 513982763 537568018 616890893 582091208 420798233 473993285 851730241 204676203 344177161 975222414 941098602 787623056 189329300 101182922 274587514 159240757 535581209 700712818 495876303 872482136 877891185 931126895 882675513 664845858 165155831 919534570 353752549 735099190 435041223 255524739 377946716 534329107 982262530 880787337 749775610 306937227 749736575 613548992 787787484 757461290 137465195 674292606 117008351 718399205 195862420 686874020 516685622 225384289 175484759 598231053 721907800 687868489 255263414 623908979 366008295 972541173 145213028 970395545 867105841 954185427 947277539 674226139 551162564 976513981 814834371 929510155 208004874 231452022 469494059 197349931 134520132 423726449 964287836 762748258 101347633 888649140 196108338 710796286 957857799 230473350 104891287 472250502 803790831 179743395 507418874 885143087 653036763 680815097 389065582 448551358 570684595 888041257 753134564 983694757 136926964 688052663 232593486 171447425 455910031 815551158 412612506 118843929 953108642 256015290 455312695 304270199 860355556 553214199 975828752 662982346 331522358 672388993 927376639 779255744 404936989 862592705 997941860 437960144 632806665 897652763 704473895 805094432 402340881 231565284 145006154 686220501 299602833 833225743 859819129 753652866 970866710 768798404 168435108 302797031 589819144 536044620 405446578 658043960 237859394 534412459 570528634 915997483 835422926 599561353 348325140 803950948 101620691 191825486 912138822 699037636 140058269 827937053 223050092 545932397 933039974 568798441 189486879 655692045 709079944 419845822 884836468 689526592 920291071 430517832 915049253 891939166 324630051 506917338 178933178 958915604 547264093 683340163 704200816 596354871 172390368 685939495 731047809 252507601 653879805 383883179 271922368 143952038 789243896 470445275 104193333 145832641 224486786 886216676 235234280 833112697 914949257 520110290 548748900 328563486 122165783 402763065 826567582 953588265 911148188 463170331 872340652 553984960 439256839 954244943 489064352 805684057 206749282 591563905 843336933 466866314 913000193 433469273 840145267 334522325 164506523 959987809 861131337 836629979 512839085 663866494 818228999 246750604 646764041 252968835 138673848 400963481 675117883 801757638 266611013 599246695 827890418 940348012 956889129 414160263 521337792 718532018 872473162 280501380 584123363 455765824 618644422 283104990 853257746 643374477 606014424 359348255 288200050 455819256 252789424 735920431 712731365 659663948 675019152 581665364 589039931 948691211 353966550 585002240 372824639 903684184 977038355 769093696 913992795 933345107 554258219 197915783 697983430 988361437 590911123 623094479 309175281 961569886 656516285 867450858 699982648 580765511 415790989 828956773 191463302 469504692 505148744 219067703 850311576 271436992 948429349 858349368 427259315 620819925 415002876 973773124 473250017 373993114 623757264 303156079 853442955 439483257 201323550 145370653 345985967 226447291 282021154 518653350 642903539 139784587 642306752 749834490 493875346 994289830 501641982 220646773 433893107 828893498 391946826 997120986 480783738 458831121 450782750 904255260 632111088 404748737 584036684 587126019 407192115 848492823 961016555 543653308 527788753 255897249 331445874 797855187 600359976 503681366 994785828 853334922 800585240 412448378 384421101 615710535 336447136 324997978 392137503 685979116 887736524 667203850 144723200 308126541 571045520 824279998 462997989 430857895 886189927 500582165 961539535 682600620 849897305 895609129 795446625 470867183 196163676 562523886 393841170 103257680 464184524 400069490 137611137 813219512 645143302 736078725 901079016 241191122 537336646 708699594 671747506 871660400 730399524 838947655 478509564 882325065 594821823 500507857 207527245 823788109 434110152 985824204 320299435 875851280 370695072 996272931 332122297 569055394 715798374 211423643 483716933 644076763 548389696 630956373 904054132 115140455 399837948 861418886 904852641 796456533 741520942 883055604 921984144 654097878 371278583 538861887 220903164 666414033 162498099 612849198 196300355 273774562 178936692 624012442 750563125 403209426 884032420 945715085 402925390 706512526 282887463 946899871 406210429 322287959 849024798 216141689 443692543 125798840 571902241 788653758 533998079 415391338 724680913 186004590 288586288 256453086 431449416 664751922 924138734 112329226 917079666 132625292 307869869 375263547 586977129 934866927 867391875 759484736 765781112 705535481 392127318 249155669 775232755 513426753 686743546 685018349 128132268 999969146 294885977 229822942 151238505 329534330 270742517 183547542 866155647 509773386 400252842 527388070 761635714 554176028 137976362 222463635 310521953 354634066 893192133 197372590 205922893 760661755 294962380 920992114 827157430 446485838 365101071 991738234 267874447 690938690 659775189 256708372 749928494 839370830 800213687 448057238 394518431 637357927 643899366 551495707 886570327 512123363 628040034 358845244 904045239 290027541 859380073 236547617 267914177 857039211 181389202 311503944 645580829 935548211 123900251 890763258 144226178 162932128 160154746 893190420 724204709 984905627 112905195 582262291 769464939 241808928 723311914 493278230 952174386 694705101 801035275 451881279 285112766 761398690 478482292 777236720 268076035 329055298 466247085 886905797 988246900 546008788 211896032 625866686 232867372 180642713 635537796 483168699 668197102 253343505 713036550 207384135 946101608 724769447 871320259 978515103 874567906 185894010 261656633 896969483 384319787 413949856 143659221 498880152 339554655 264871591 545301809 320513604 701491716 920543088 496179585 631457319 393425513 551559541 980556120 191434838 523562091 794683349 920465743 244315230 536377443 480398515 267319770 249872277 637878286 969566322 765160023 839875853 395079397 332960644 146301921 170097594 753614528 492799433 571848293 707910013 831561315 188178167 776916981 270065891 948275025 813973017 454601548 938442772 157377324 486190554 739571585 548436245 750268299 924680505 363632414 360728415 768473298 302249997 272219704 344998962 859969709 868756462 242302525 878903406 199053596 508903910 639913975 396936459 520982445 905564849 348529957 383817930 583466438 741024306 805643451 598698574 718977397 538169525 537344987 951621544 796152430 545034040 557970710 843201839 877981084 104245462 186955939 203012204 327564490 617183772 411906919 102632160 199017609 645714779 221735235 710993194 153150549 330126907 809444575 555132679 450166186 976076994 672025911 271713172 872790188 295895263 424164898 726968842 311442205 868252186 393023509 762555643 273347155 297340276 205257336 238976660 229262056 499803726 193712856 271284935 696679359 578582858 207253812 667651618 469229304 774107655 852837434 697707507 977745249 769076585 413273961 433590304 771247575 565127020 375535877 312481365 824024335 491514729 574023522 251380762 316455341 649347871 488634748 229686949 820096415 475083076 261102425 911812567 899374157 540060754 375095638 817981876 581555826 152306601 300956561 378828844 671294151 995509498 415292813 415538392 521316367 703076602 539381572 646677811 203055115 118945135 550933755 411093122 918090217 753555258 177899519 517023164 304996735 827112028 500273437 366921724 390474833 258963127 153627012 959101058 675697466 939706769 504202152 938236205 229478702 767432236 263865506 816413669 797949346 308499957 579574410 739948504 908521796 423677635 535505106 757971273 223618430 932203674 542392985 281703380 465195597 955834815 399008382 214742338 287493499 612528241 170148329 532062711 152019084 882937308 661029208 785749971 168411024 329231887 656211413 896134866 528587441 782873705 517436395 274532976 237464529 280144700 238156535 128505893 478155851 211380015 767890986 158783487 525526535 476392488 549226142 159675020 830493816 111934020 902473559 803003942 285147594 781784367 922907706 138700457 565189494 557828675 569549092 935978487 259279175 933363988 393410690 820957994 484074091 425680124 601977804 741728025 609475896 419545613 178065967 131989764 409192616 996236340 925464150 157781255 263596412 171308052 797101268 312651803 225591584 265485881 843816938 767835888 548855237 828351651 378464974 960846618 228525940 281237890 816981396 659712395 613028273 710123529 334972113 989997116 402742319 828284074 835910733 979211613 336273695 516862802 254356401 557421862 857917431 208136799 541348709 173132731 591104027 657996996 669875160 463373633 735410697 255803766 727953830 564893145 141048888 278685219 124509712 436339234 936399231 665459676 577006510 152166322 416793840 904447282 745532589 896122849 800604181 252805001 341099323 414924138 721275692 954094602 515364418 819505954 331265452 951307361 699415422 113916015 731989703 497786432 685116187 538356146 683607063 415958365 303541882 637514941 727452260 191975262 942951487 916465653 852461892 323710606 233725136 992697771 934513466 971795611 719242810 657346039 661449870 312373661 329175369 921818194 459096444 556443196 129265535 660920374 397963886 124049435 566593994 603709948 737192542 315380640 661992251 801597114 397138555 822481809 992882873 640936910 529075447 874744460 916834127 350340037 189908071 121729203 448934944 670017453 756888267 696098358 276134396 441746108 646822172 519495998 484983341 405679360 296921780 488023927 455871738 435255807 646423017 775762255 621929083 199986171 708385445 502951537 478940967 798572717 767377566 344220612 241703480 754589367 132199418 280150269 604551107 490711800 475208306 619812414 105598623 314109263 373152108 633842364 490360213 944081421 917356405 581864638 480069287 882307737 360125098 173384061 941367261 119520610 386539247 396037398 916433820 304081701 676441214 317015766 603950984 616686895 762350918 122684937 390144478 320581848 614005045 339681329 447109215 707059473 176041486 310420651 882154099 891593765 145470377 688302356 876845501 533979813 629934934 946316811 382115134 343583880 269450531 249020792 337401348 472641280 586629582 376785931 674981417 778734262 279424304 309789049 566980881 795940012 201847479 392185181 668661605 641728988 992093022 533366562 310146832 921245990 201084313 657936073 457999101 688800966 379606130 725710415 316074868 877538568 693529851 858690643 850951772 323005528 939464853 932948900 606338348 850722297 749721716 707845543 516246424 142884659 288728991 222510469 525541517 130465597 998651774 190826384 929479318 619209330 600888879 486170558 310602205 807415790 588784659 233136280 954052324 667975210 317072021 881961307 567808331 780033344 388489160 917499094 911938673 919590507 222905032 736683313 343382325 261240114 472520709 124835282 287547106 429922689 570770436 238452185 461452739 200532413 323236771 820978548 593267647 583165142 658261885 623176611 718819455 590043453 722698038 862668611 764227265 889506551 343403096 201766789 456432359 618786124 576636194 784085912 349698783 996264732 768419583 760419209 392341466 298084438 943032476 102008183 349108844 442954068 130975492 801157348 424016710 187223089 185708060 765231694 106585219 264487125 155027324 303866084 733265745 353923659 521364037 417780559 359938690 315807705 902063573 284043225 459817144 644409916 125139619 228611828 165574286 735585391 602522762 569713558 928970927 158943864 725142886 356291519 131038195 868056741 616561171 601476213 690719929 212977086 291157462 250795821 262943675 712594292 265379887 370367385 725276641 185657462 982735976 260662733 477008339 685496538 457730024 747055159 529492342 761348763 593826985 980122787 837235609 737779539 267931315 139512403 353475047 826467258 370136830 335555607 378804531 524587160 722541969 424520418 211509622 674920266 642563753 282554946 525747961 372278813 215538877 705042140 695920640 492881945 704702476 239414535 975181778 283523948 782656941 599792195 725723936 798477303 942754051 744618077 396716903 695395558 826475237 704843141 193631635 625561669 672660459 533822552 600498074 100845617 900267275 582819197 251742617 920986213 367053097 446902998 137017139 286360341 501869327 742956816 238220336 626828222 492287310 582059176 932067663 824695538 173462974 215975435 488842793 610220504 694282729 724096587 538073950 315779065 740073870 292875027 128316159 781291517 977556930 583464693 220475595 929573508 294926998 931076545 109297336 769727072 667646960 749104338 952668296 108585546 398685822 931147792 128519682 595315816 958766373 262039345 596796164 210979565 248764467 579921414 109523055 408371452 144956888 647444869 777567004 614752140 675924855 370480100 313833353 698685030 510216224 953314369 553782850 536860043 400907882 616426422 323019945 631801307 367375180 128020798 700461360 559364035 243422840 612698588 199119970 734911523 740654753 941456240 246351585 877421973 841901233 881028771 779630459 135293027 296181486 435226662 871832995 716203880 366623163 135959964 872616708 579922869 778028780 774611424 475247798 116813798 135353820 552479352 635579616 820822190 235034611 498854311 516485579 787138249 552602632 587207494 230849647 358049683 756184353 450937131 736952593 460722308 152449972 347675408 108620827 105074877 330420521 329745237 536182696 329047482 511420409 180601772 213324815 570395501 658894243 386408205 500515136 611868238 594724721 747069104 454996280 488840614 498657057 615546005 371705526 466758733 602699090 199171275 569891617 562420853 595853648 658387338 328187726 377345861 785070160 328508397 297972550 770876659 764761511 357177890 770083825 422096151 785567893 854415736 197032341 176340719 102603047 521560175 888888588 949469779 525225482 610425190 837698784 128231237 493399594 314721393 799485219 537170391 959723854 947200500 913740948 162168227 897205991 329929509 709581497 916060572 643279984 297624782 330143336 175047357 404228100 245195188 641054965 224981166 655194147 865297758 924851921 142998627 128307516 800601259 570009207 526689791 525484955 220526188 716303580 602968308 522684564 397017754 109790520 613405979 526341115 341857588 360184653 623642415 405909354 245950836 473953912 134278631 724110913 421965920 211182418 798194436 431022389 513013521 491120912 909639885 104777961 627291128 134670783 965691922 768542792 351860351 147999720 148015732 144902979 695217557 168300994 226074497 578925514 159860824 227504913 295179177 924158497 819079125 313085464 348925797 898206697 563145398 952150630 250665465 368069167 361438143 229840460 838817791 382651682 635932745 405159572 428086790 940857449 329203508 601969423 679670311 347293336 171587605 486955951 475460421 842936328 383931058 741178887 385415131 531454742 156660502 803976872 123446229 876519713 210457009 308853087 381740449 794323641 361206513 260036386 849169060 785987379 897902159 539340365 505771923 758170303 216360964 434079447 991523815 648596251 928135571 406711366 315659457 141489676 609568213 359282460 217228637 955625473 136671222 602457987 880159112 697226923 887325019 813073112 851015533 967910089 575688537 972205665 316163477 321629401 537443030 712268590 519677836 264794754 131086729 662984116 598626132 285514694 246073987 189909475 332548695 728343883 932469874 535364397 785875242 236943213 350205250 712255703 545152969 872356340 705073958 291979948 862397511 830648020 899342324 179725453 236715923 956219249 735528248 194215302 851005296 979574113 199214940 985591430 891941465 153658179 101342810 336011314 887029406 488586629 601201090 784424037 521495104 784399044 706667479 941931897 796179683 440242114 945805520 440320652 764808975 617834600 980747866 635887992 224380474 271869875 706212322 219099749 565607124 671682069 350080763 433014512 972912527 957904776 246106575 976423949 804523628 347243852 454912078 453845376 666211845 139041289 480523483 128162441 807684452 834128225 462742852 222056007 267351598 659123435 658126961 775714435 694967545 878547769 928906789 781815995 536305662 686219981 462538988 894136440 500131840 907431133 214145999 233727423 651833673 455859313 883318778 835060973 957651109 654105242 642720087 962000967 196437286 135436747 669438107 213622078 373749492 592799378 667814999 570595655 318947634 870177698 559467392 193713722 420234257 394777485 292208402 386979349 949002680 169380391 853369424 695053207 639484808 740147921 859472982 886913708 850909577 849983373 642623860 849250444 781063490 858189873 496059615 344663923 793007456 707726815 772397657 384807878 693985097 681497963 221964136 624330895 559927775 173231746 414922480 855209469 243060008 870339467 873610778 473844285 155781992 212906252 375144394 190328298 920365748 196177950 704838115 299652602 293599575 530800193 390653022 784153298 383032094 880615177 980017382 992090170 636244570 664213423 592798232 671578286 787846146 127884473 495674309 854043674 752036143 580009881 612567666 411505416 485504888 450323384 186331078 624454003 809868087 388824986 797496166 434443212 341845685 319100359 580331194 620659229 234036521 562463347 551475320 753200353 312251752 233487546 268054326 633376957 490965507 649542533 696441341 711145822 334483816 466799576 173940996 216085028 618977950 544456238 396868949 422555007 625801291 602914758 385549314 398491343 709832538 739115807 264778771 311931948 542059427 252520567 965090063 911396057 146284627 882573628 704370771 727407041 580969972 547130836 779508479 428299081 862207682 311437952 363503487 600652528 806561529 151813291 343314584 133664194 651264524 205275824 685668048 267518836 155172809 461456983 669519848 200063699 491514220 814288296 370963116 320686383 885564726 999852634 124307064 665330779 969458882 540974724 214573387 667071695 582786883 299889560 521978133 650856106 968959946 457494684 619801070 597337143 992855810 118223489 511293323 808082083 427456529 303913282 935368826 489367665 777544371 825677824 553537666 521378120 294424614 870549648 786402854 691945047 750826408 127691641 180335932 432174015 752791577 311536886 822503385 867144966 733438061 477133041 939339024 568288652 492101236 611121094 806235786 126919229 790608001 207048170 669206825 891856326 479850391 746399036 871540675 363598811 227202524 600996920 728410539 757575115 152088624 229339808 518833919 632987427 295067024 106568290 831523631 662328157 474485123 164280201 312493698 569146677 434060411 128599830 223482358 183915047 950885992 446200576 167420168 529886456 216158353 887313396 810882795 381026475 713720666 662038620 243213803 979647514 522008640 699026051 123910979 100802905 713559765 338444031 347828137 882324274 137543991 241862511 465480271 985381801 752553185 400465067 401295955 111218547 576297134 402210884 804971350 573984595 178424028 331765743 392029808 967223701 626291430 740886968 958400204 297895577 278111229 484286592 839487562 976652555 874501963 156296916 631293202 830613921 555793183 914052209 882661410 410506215 679033802 744028069 500042639 109613622 536985425 640916663 171029641 922565239 606666673 871899338 136861185 752546414 520198153 367485815 250652918 324338318 518078539 322373008 886038637 124844225 196345625 985375387 894324364 247376145 941981463 189816421 567848159 523164608 922636650 261260355 658461879 139358868 265327733 749790168 836079548 473322406 195774502 644115940 576438511 705704176 298816407 266463032 303208200 387722983 309571469 169428205 442000976 455670508 120753131 510994866 888770314 582066857 799488950 784730450 906566703 488241947 218204287 337504676 776158309 229967117 703077685 858292973 862679298 671785152 548978582 929976699 919035093 325402646 359408750 369333114 518827650 683611370 233715958 400049315 783485249 165852748 911294593 794654771 994703612 507923688 848257999 191823085 767050832 797341000 417045427 864571329 349736352 978917139 661812248 395897650 480166624 186362881 226043243 584791755 333511393 333508912 769850720 270382107 806383239 305668273 628232568 551281009 682789903 865670556 583178855 126996830 483976225 231447306 701596777 971174703 831272397 208866175 639169562 863467010 784420047 381906837 265430679 598906536 557648147 181951288 771729593 569547515 765403598 176279236 353018725 756813930 379439165 147068547 414910601 284703420 829619964 961106105 602567205 400855194 420657252 899879153 862137782 521167514 164207966 951261955 114070813 946601261 452142586 370081329 667404017 626236810 258151246 407225390 425472542 923391362 905869662 984275458 714386930 219893785 698247893 106577110 358475775 520618244 641975395 242915491 723214133 973649256 427215124 518888670 140847134 231738435 396914971 384163839 379592311 173804563 226082240 930990695 830655299 582049975 632587673 240790173 920125094 976316356 221059017 650911737 275074647 143366180 567864971 286148908 240682722 391877799 924759660 584250748 558545977 135712192 381872344 545850939 873615243 239777204 681745823 905282692 405664686 427014937 664965277 613903207 197119412 251531046 464744965 937173750 575092102 257357732 630345279 481984680 661154975 624570394 111422182 629778205 779914000 728151581 337164893 295640323 128654739 185599720 460471169 328005202 443399755 277600357 703088492 271752437 698239274 107543736 827756792 575645720 771130444 712271727 640912008 531603649 328668377 416716387 572788893 935126468 929521071 831653378 880253526 777987875 843007953 209645686 401840900 891510864 216388549 458245263 329254022 784623744 602719743 591895373 131105814 355072593 965586344 708011705 640198798 369819296 474874860 827627270 934914379 127952501 684365403 334279167 545921034 184936316 418376436 845141240 542751960 263973071 295839888 133129275 949925813 880740265 760585327 347800173 925591124 559679496 901096536 585114448 252964989 140719922 915979863 273332420 215450350 724986701 808467372 772166323 855995327 227086406 289671342 459371428 807380892 730413938 550829171 635993702 649359802 340358327 206337279 990178465 676702086 478083746 630850222 237365062 315780882 669408841 182990497 560375999 515896512 133954975 238975033 944266883 978616433 830980004 100007938 741950236 330265203 909022897 111409814 719878184 718383209 211395886 804716503 818922593 816990908 195091181 301571075 765462051 120397430 650389414 495148700 559370600 571636544 302703786 790518601 395504138 145460535 321837898 864584508 605776038 104841160 688245475 549647950 742961302 729610154 224733683 544875706 453076013 942134737 769927945 721120599 728334834 968987572 476736623 335482705 697727849 795215221 302061270 747635869 776436389 359975770 448304848 398582137 646790568 714417525 499074324 524511499 332735698 626187632 953578313 427200284 841062812 535477115 440645529 632663550 419021713 525333488 262754492 126053783 782338401 186503453 166660946 659102076 154222130 521704855 673641981 842742447 766858051 460955044 772205511 584445162 425633735 920212403 872772747 488825211 709691210 728012905 521541383 525838318 941591657 797582949 413398840 104525784 220185951 344436411 765944135 947300887 302181748 331292230 346358897 578958259 143067767 510548242 232221779 492391226 554225732 258052684 860288287 865169012 362555007 176451271 398408664 664432607 113263403 875530295 950103889 812577328 787247760 486113755 906360244 696293286 629652697 743170209 696326121 411121465 986226262 789962453 835726963 508075636 500817015 809800228 457347561 476726145 876506606 682875393 262468198 903670159 585903545 439716242 565696803 387568382 802997645 664187534 822554312 618524302 507827616 117623495 332884078 840947242 722950654 824971872 639695642 300404916 485680808 863526666 778691417 919377368 316918413 408909607 903720066 775338183 515994218 439843998 804088256 723313413 206439606 270518735 154408830 453940752 200745469 614312957 809695071 398992835 258302168 893444608 479920815 959319632 263763599 261089516 658163492 397991758 148845277 908416429 632807911 196752012 947905059 600362061 771504346 452967898 927686658 647529099 248646605 650053222 690220026 865816100 687954061 574663464 519688044 584691348 634555719 442120839 926394910 740758812 108758233 500607777 514960299 413504157 527750946 550720054 688883559 574072873 202012888 349771901 500990704 179504288 176856410 709388933 625962818 205739579 723679348 339748434 170348610 228506596 756816042 123687276 974194975 695724386 904838134 253936853 929280745 113592375 654577962 920423621 519796257 150841723 433577027 276148953 466042321 815765831 337696745 631590180 777940619 178039044 524893020 896836932 900568095 392685379 699157389 103253417 515305637 658467065 402196981 473811296 152773625 982950660 392145256 138862412 511617014 110766770 915898381 362963742 145232455 325519393 238682022 466020120 944034285 635429241 900527214 369942434 968601759 734377065 680197842 227649078 297445118 775762983 677740491 202815949 729005705 819709733 783861521 321188624 496255120 917394124 973198701 559519490 185635467 310396766 810523386 652861979 149749888 685195846 261792667 420735803 949781080 265620531 873783770 884352328 439234784 130102408 225030584 339187206 961419656 434339455 494040959 179814666 930121696 234004093 855545854 164393391 446317098 177486384 732418755 707399838 266261445 109086989 611241341 389763875 376180910 247648740 201538052 391250762 883516128 354484286 163691807 110536528 429761106 278788275 665851138 423058176 717678065 490472319 393996624 724187940 637956268 359433783 377350330 476575249 580682142 952205314 976651906 646934195 493767383 653395015 673464198 264956750 402904549 368028353 724583211 217161304 463614946 238121964 271818213 139298788 352070360 920440739 872017498 297476577 844053622 956810744 515704278 595864409 278092608 479016533 581953705 574271476 284952410 498194705 608721482 288192339 627593385 683949855 202205888 157491156 863364233 672303455 374058940 936710305 953513296 230428001 548891552 239345343 649777225 391722450 996853252 762273878 165139160 998418665 246875573 936088646 823485298 340308916 111412899 579789415 961233128 727575700 930524311 502572065 349999040 642350089 324593422 430094182 851358863 397074771 250381973 995977107 887327358 307130599 756886843 687132797 409434638 805444620 300868155 470092356 689205450 911550706 471008217 711237338 563916506 240284875 792144721 497578827 637075842 802319439 323501025 212293164 231600293 103233418 458697795 711498964 363837924 645385310 691158396 797804802 832029780 388615090 953018650 650680794 150595714 287704971 295671004 418912571 519613769 702745501 302180507 180420914 737941804 576289321 119009187 512691367 881430022 730475564 868761004 836710929 484903425 398702207 101174481 254830466 340806011 727097871 180289083 406057448 843609068 805043063 569013641 254398005 427087333 123162522 751234893 667192210 281499534 799782321 603654194 767614054 353694803 689733281 912929136 676374607 342870113 426196267 483188326 452243075 346175293 245396356 337768925 109341807 921812272 186225893 498170799 304273313 898025175 157181160 249512451 717038216 339965531 346324968 594687664 204585035 332899280 996656793 179985621 361017442 667344013 631411345 631293509 101971765 952032444 933477543 805556445 130360802 764156171 412541725 902395304 477493272 121525544 659516328 416245310 845164123 145971613 643882348 183735431 530098035 661279009 566847229 536554541 105376046 329052883 721367707 575560305 248419509 504864686 456891698 793147882 310941321 676856989 701421299 826922240 459637753 525922984 731952286 408828367 290753735 690950998 709967479 703925663 446399467 806611433 212555281 384295682 118323278 305107469 641748106 568821050 952158066 561766709 926588122 520066535 735738353 298782612 901406974 326022582 207336178 469646477 340241536 358114282 154166457 429652528 396548030 898766677 103284287 360043405 693197340 997190729 340774493 801060986 406634304 404087603 473180850 675381332 638463116 487098248 805411449 899056656 687911224 353118455 578597343 666055606 296367469 718545858 812282653 511718406 202642878 111243938 213910550 193365072 486308736 187491290 343621199 550875698 907232488 875159082 292405979 894031445 121189393 537882251 909197163 887442803 102209476 185059653 824774809 842978393 336437255 397708960 157287075 297266543 793403141 667179721 552601092 416713485 108599318 744423415 304196223 473973238 984339679 832556109 207252507 831060757 473824552 770922472 742372443 603813185 512418816 480172718 301439001 841547344 942298643 300870639 323469886 343862805 935620797 874500895 243058264 857505604 627066408 952854569 952762421 374998641 311814619 719798499 919402408 366203863 686480879 363784815 944223760 605406546 684828657 904171138 949930321 982067375 593931967 814097686 955321152 426308586 856063429 431818307 937683310 625035006 546968506 148505449 444005154 787184969 927235417 697594488 551020208 518353953 656675600 483917407 302620169 337063617 299544297 449849192 695918396 348540281 369134380 801610422 306911801 459297303 781202916 828472396 289238376 260808099 591047033 938478719 209243271 536308122 749785747 423061160 307093926 969171321 163467495 929252984 800301374 656925855 849253217 633450579 658305521 917945175 245305878 806231512 406432328 293183483 876371182 549606776 600150105 704596061 510634712 963889927 327339287 220459254 270686689 387858152 515585417 685918187 779956247 943892630 676797518 387581045 644693962 584439275 694219681 218949796 930967754 130496177 262839812 667389402 711700108 692285940 898409486 280639639 696917776 472952760 205324527 947223891 348850233 968160241 834714242 355759455 841582802 977365131 557607128 370280423 487690791 370431743 181921203 440526433 500672962 556306277 941019277 317527865 889844462 767735501 652808638 399380822 568613609 306018558 114407688 342522909 732372520 876133347 675685833 516445876 810518034 631781052 111353179 808611004 560792004 643273309 175632028 596669462 686684696 508890005 939448655 457673955 454913608 549025209 800108240 412153909 859872577 152912512 753454278 408382365 885892983 497327647 249315321 206510403 147873878 702814861 600339760 361816564 111662217 823824116 607546531 959955899 163620133 328054466 140865183 892355441 556293147 901666528 558139110 530089207 124046744 182387608 390987504 912964816 184195358 608468846 638216744 945307687 473405333 163308282 959493901 909784222 676449943 129899670 141063039 153923652 646063411 241656591 153344476 976984814 470303689 132162047 950989599 570596286 938119748 223864804 772169975 579792665 481269382 342030795 505009850 103456238 238809370 172974543 421189132 641349145 753508865 401352671 732066561 675521137 758130659 719771792 220454159 995674540 712999569 661977302 504680412 671451258 657477153 284236375 642919836 459767247 304794358 841993361 715705707 661426036 886279460 930244926 940538922 932502492 986819728 541167888 619777628 184843302 891305116 121163359 915039305 413097319 728393536 720240946 837155697 366400637 453850232 727141293 853282894 957497957 261003946 305086763 867389933 891307904 396135716 144755492 714928275 967833993 357715910 469894938 173130180 120344201 290353274 273956354 571816896 605754248 738546694 923807225 567287585 753388535 468414212 220851236 340684707 600827782 342077492 606936701 229311088 911191427 751573849 165320692 606895496 845551153 984925563 182121908 668295767 282000269 946454882 741144377 569728870 423608578 495663019 803860794 876959994 797423519 674691443 408720063 772416392 978350133 383865831 819100906 624377056 948091841 445487368 323008075 515960505 603835993 668763154 780504956 152033317 990304550 704982803 903726485 687510202 652468936 878768659 775715377 367640123 187170218 338073104 355874174 284276417 813922387 543886823 588870212 369451258 460620774 206452370 313026045 784207626 867971738 717888275 552195334 120094588 954038105 240832686 227971655 770209142 257827044 973203725 469799421 588431033 372156476 603740215 187969000 279175128 651119441 381746919 665316298 841840115 927405185 627542993 974833630 154198954 656771248 563021097 585067059 386488685 554017240 992958714 735490000 751305338 540920003 722058568 169704278 300275940 656575678 443135716 849600291 334446915 818534041 431660834 506606160 981024437 556700985 729423080 518244651 261792668 206806560 556873717 925960594 298503070 369250182 739032923 773653591 917476223 263363254 956660818 489283119 676226690 205856983 211879304 954679424 852073539 734772638 946714721 299083388 439944531 660490361 859711117 731905808 168680047 782341856 885311174 934109817 550974927 422012055 776926109 126678002 845542095 639502966 868646327 434703536 397452663 959968965 499898413 304255955 170151094 563887443 835268409 457162722 928596161 920913198 446191895 720917491 655021165 893736512 400502015 986923194 697749967 373277073 823819300 969114380 810607034 434227665 682160699 817889916 119091155 190324269 198803831 900658985 226510597 765145727 848816239 812029402 714968245 819064546 979482379 280451942 175636141 219062977 317893870 684075007 619181164 738127362 770173772 478601989 448528641 642081058 301534257 733886306 681871549 905286066 935130866 689725565 544775776 933505140 379675288 606338199 905277229 747074478 339018055 573426366 718837697 656766261 860931464 550792549 312106204 250155014 547893824 511786271 186660321 177728100 635715949 513243487 361511577 778407430 751413728 603325888 572306218 692326269 606719844 868301441 842063445 676678241 320923148 188916754 899756285 723360039 310755421 593184567 139024452 362750886 990898186 913655904 447476605 285713897 839363919 608403054 468294156 173581447 821797035 409992496 601870787 773318621 273996507 427073136 702192094 571245009 783299613 323747390 883175224 822982572 941589626 737662976 196776434 696991632 699430000 382056559 575035289 718972090 799087278 448067566 341860057 766191452 575833670 495464084 199743233 718086844 331720043 669794190 455510731 161169073 294895375 912422371 543965087 315483267 821741797 761138384 708396393 517262277 116123493 304553255 942335092 881678685 110694698 969781866 344230837 988397410 113497106 931250821 544047376 889132524 917429684 110082306 336259543 157193280 591518300 989997131 292187782 894737523 648759326 680418112 950923207 278873173 701196283 242004246 388374913 501732362 634613389 208330142 857614023 585359145 446176185 298874506 738505257 789644430 631264416 115958968 670133664 825354094 532713545 164353269 926713378 945469014 282008652 259815179 855636636 904148840 201533790 201685679 154618191 617566060 257204068 388633617 401728115 749458306 313674808 938360170 482108870 904047901 133436633 326985358 905739977 130692022 727026350 864200525 927896953 190581858 614887825 960462198 924625651 433803082 728531329 887615970 338691111 474938689 660405183 599318173 183102484 900469833 949845032 645085060 757813125 330351349 314487729 292974224 820789388 191314056 980795668 185666666 720485110 732760670 509750945 500465900 345799601 908498502 267577376 230341773 189552211 731885873 891931991 694344985 837785630 754085043 966680946 718972381 770847824 851838933 291185400 425722978 685039770 856841304 915880935 891222823 496819189 463580311 723581209 451684658 401878106 499685700 956952425 820886493 603203917 200374464 230454033 268173463 635803927 499010192 405739836 402523955 721501185 745291007 576922747 405241500 265555594 296742429 398214752 636365653 298177210 526907367 784754802 201876127 302289328 828175496 504691862 992909377 265959146 501660727 717064702 309032371 119517632 199861854 960744402 264284443 646758198 771448153 612052873 364171892 317839656 532168544 988635723 274295716 356942538 568425768 107711739 179380511 640922914 944971308 679840575 826578705 461649542 729294679 442262156 462527029 921608251 808144146 376318553 605096242 146336119 340193607 771143932 294329718 173693382 779557948 598005463 900217359 464843882 572539990 643061088 154060524 736684799 940078913 330823377 379093161 388740292 379716151 531337424 233643121 210883055 479778720 161833757 536594379 174374167 651358124 536672319 535362256 167682230 655782940 992234564 450098964 495213694 317131330 613782483 627765239 610277679 242453271 744895072 107999346 649847927 442538577 295479726 984388162 123597637 797550738 518839547 917896279 979324322 280781374 749050536 143189069 707026398 835937588 249834982 318218539 408132945 281279493 207986490 598723227 496715341 216013079 503250960 279841050 762613312 725858706 137991798 724431111 743231006 798411424 937599474 692669469 219509654 155327624 145293292 810286719 751785344 983890795 453223119 929344903 385636091 983665332 720027729 106088401 419353925 532204208 511413261 653074121 697963357 168830856 718425250 537941512 929430300 972933808 283892495 422049113 359737809 195951966 905657036 929624454 719218175 432841720 506575563 524442479 509998702 122444836 580819170 824305471 264761091 735886477 157264163 403499567 335701551 559483271 823396538 955400752 731563033 837687974 128901401 393294584 848473378 263850957 565025131 685580707 125729959 364961864 147466699 630153201 737962169 918326091 528629963 360858257 494066311 358936157 559317998 165170040 779238208 303403073 202623920 461159352 829434986 546729361 633399559 324793076 402002604 897834672 549605400 666069534 363841236 635817939 426915556 549387647 270998517 352540937 679012971 799105128 664992802 984244115 626560152 223623505 480142411 336785458 383069127 233446667 914856828 670408172 472662516 415955514 400708988 590873423 126113775 892913631 768023985 916720305 224289971 976075340 750508771 992957082 278649814 827842625 152343287 393843880 265901254 915004889 399954683 953678213 141157002 876307545 111395251 885561739 140435514 630083470 545103616 994504560 328139392 291724264 917240478 697182926 438799563 243964585 243887375 419803808 383828612 182479902 670809102 990176486 263357048 149467333 864447802 337264886 861825839 379707775 497843323 522496391 558761806 768324216 246672735 706065013 681490603 254311272 601994386 483464670 458051995 173418047 303140125 765912377 719526380 452384502 201393555 102327374 211834336 449444650 267323163 322433236 742205354 474593783 480750100 403005144 708795496 160820753 364343650 597088327 855764934 905321815 729288127 704400550 902010982 551552518 623161740 795010563 217548735 280429752 198055195 144875099 341501392 441776588 193323499 260910580 949092571 433043960 267316428 464106651 162286441 719699829 666880339 829246346 626479960 393879050 164778460 402234316 409180965 115205534 392528992 528244465 818836698 299920510 840006175 684757990 411429181 568378494 904429553 395965148 499834970 390588920 426636357 747816973 132612713 211358947 909679212 409085841 613823602 548285551 188035219 244996077 213611947 998765391 521142968 681725138 266544010 607907272 137947519 109410927 468880938 522195235 311151002 564219303 302267011 363092742 838917290 105618998 939221057 215426413 798743011 461466860 634134077 502695308 709885299 167883726 123131151 725309518 298927817 916632801 415150634 550189551 870512773 937682865 980402363 855754652 168749109 354636918 377555890 259764675 588982164 578115003 137723092 840021158 178519812 903022395 768949803 498641134 340621586 129039034 548830281 323900253 423943574 909343799 359552980 759003724 134442539 160551931 366558307 353081701 852797431 594757697 145372464 685694531 175347274 913974715 245617249 918478713 649490229 335458424 886869099 706674467 248243445 255877868 562034297 463693342 786649732 722533358 994281208 196088249 814231436 401995973 367775026 330572894 868368332 480567643 288309158 725720617 625726363 249228422 726997776 415551533 865431164 577065896 562163747 244816118 727705534 312587724 930182014 377848049 714595880 404401243 855353999 775072222 479529215 549384085 413844411 491663206 315198670 731678634 558605235 473176578 689384265 265651052 316719463 281823614 985018287 912806615 676361212 850819291 738670550 730072462 239797925 970271931 420738945 180916288 436592168 368030240 518370667 694290250 248887124 980404847 393445556 353371383 503500394 247277093 973651177 117411636 284187798 543037722 444472561 914871188 985654571 181435212 163987128 232609729 546385387 973605310 796293844 331130322 798875115 112867287 568063730 300277105 995321673 355237253 767558124 393786840 567960397 611169404 203883723 447166619 227657962 390085244 642635141 201672537 151767054 788272316 705732791 588361799 871219733 633481749 393917259 367263414 376083634 619963474 940076357 227204601 879443649 454755752 197402786 217355747 473559546 744815190 328019151 654028504 255397951 417153741 599694379 143591342 454708614 124887881 207940777 853727776 905197318 722215896 630818741 899041807 676154309 690113890 388829431 672603922 901435975 796738686 655702688 286858899 214887412 292948701 924573197 628253538 386207552 547937041 343719442 753080025 158263838 503681086 698368711 828639914 678555714 454001511 726775847 891180741 396436526 760268551 276168110 803163921 467731040 562260021 194808701 478582777 347727839 704946351 652981144 983835462 308826825 404347284 135869761 804006385 744093112 672673896 463618931 328747200 829179316 306826758 430132185 786648742 683929829 158284679 744843284 434160571 731415260 514311306 575250597 743299232 800860579 619571724 478345030 931335398 542065023 228907162 435685408 164484549 208394179 966526105 481356990 573935273 572818843 382855825 627073137 610641852 340708979 696570939 333991338 736344657 444601894 701379569 757069211 247195026 562704115 568270935 636373576 893750758 897299582 945862266 801503276 160255781 809896450 495591056 943774454 291139634 381905127 564102878 200410253 858981218 256921438 282526635 999023832 183793660 240445086 140151028 465275156 869302250 890995345 179075436 735975585 524520009 649398803 879324850 181229174 935568836 245327218 902866173 187778963 919410777 266292303 244980981 275376771 521961827 720511833 351872390 432483746 693704593 562116720 444985684 686897787 738902416 200654320 203357069 412543978 767274534 363461108 649721466 197006994 289662804 470691626 669898160 853436734 523773685 980463418 821958269 210600659 463988472 128043284 821803067 436357787 114749375 517859760 545151549 927791587 497996148 507355612 160867101 896961409 167110905 489759250 431277401 186846904 598818320 874907084 835800774 101875330 469209845 116308212 942483742 868636541 975057904 549178863 519382952 806302051 251068846 633795898 386611648 112553463 974887940 451076639 242125637 645040758 618138789 840755783 190375093 993180113 407784133 687048284 185353511 170833718 762284297 388352429 771837979 105184903 531666342 596257943 290500529 407264258 587345230 702207469 403865832 828930563 855303421 303411149 269728942 492082066 763059197 656497262 158614394 763214290 139857895 543148131 919939977 840199479 174461181 544360133 295861758 157931718 136505417 733777585 382464331 965802958 219128119 955030913 886082253 216417400 574273812 250820567 644821148 248210638 549131884 328860451 843501594 388054279 499889994 696088896 991255265 494538395 609164410 568430497 195664718 277590225 247094189 547116084 900918554 622210239 126035241 450665230 492673885 630268769 249053553 469201341 671911308 338291852 363076589 561011671 382601035 385274941 265852993 293381241 918252714 548443710 281082589 673455860 827615115 358915293 148804499 326066416 601164497 111631211 463087714 268209701 494162956 529052952 554595557 959011042 779919253 778825233 547033324 887340481 212478476 781380811 730757784 928819079 831903476 744119280 390631920 877449354 140228464 190488990 357092239 186446339 535622588 472263428 510377746 492872985 424277912 497135399 338543265 678562496 748277737 849493201 792192002 817254539 988216354 286118953 688880127 700971946 927528699 180189333 418206853 253452396 582589519 582726647 673524156 609612349 167344372 802013361 428310917 585143350 675787637 903176014 983399736 535334686 968472256 306876962 276007588 296098719 359432304 915329611 281403901 282601539 225141317 589059310 947930017 693828282 282644787 671092330 583811220 962658563 456615360 364769568 150412320 831457199 557217386 221179267 577299193 256996068 796887429 836320391 290640885 329863174 808956756 119575823 854590063 509848709 717574441 209631195 379701725 104730678 110242129 557902662 432585907 944923458 345074142 445637472 632842786 722458707 486865108 271986235 608407048 458640649 400025681 236650097 715522207 960708164 793106562 132497764 605665353 423627331 532301667 755965458 905079818 870837296 884648325 971533273 766909697 613115864 715151344 855846497 496622471 197154187 135503682 553688349 870585566 254298583 756175765 619991330 573613487 107019569 611842173 269013213 356442489 358919230 893061048 117335787 925859162 343589795 189747387 226887080 396167567 328538172 498899321 566615719 643923543 398848714 485170532 415898437 114433805 807843602 872988528 757709699 215026408 627581171 785297114 861375504 155056860 553842492 428466574 941987116 579901814 758250148 326104876 869768820 860263726 701847115 120151933 548905622 450258710 913266223 717718564 417087819 834936459 720151372 326546345 275530797 425264929 732019018 443267253 445357723 906097023 230527232 310542928 353993556 498210019 270953370 935227524 561206446 785872980 609276237 509781559 691130720 336004165 907055281 855729044 276809356 892833122 139299408 256624304 705105720 954821152 210345357 977827172 739252683 778659697 606320029 863854766 510759619 667409553 998226103 872132084 531713939 789910181 409218863 959242262 922813949 364405487 613364380 583355912 406261389 315620789 737803523 825254106 160694800 636425819 304860514 816015637 502677224 723806384 103473924 239434247 858448053 706907997 360243818 880703475 113987050 262477950 273251543 313384499 687209039 423861299 745260129 622262819 171596960 526176605 971499998 757741757 891408119 936759557 505825716 152243172 711402382 433099653 570235158 428204482 425551092 738382515 750907203 410647929 674287007 496341831 381154880 889906600 559106364 627583303 483699638 609771095 573083850 231295419 559639012 874928893 606812907 420361719 203459800 274245669 188656415 365211907 824266999 378632593 195810264 708857435 685334001 290088028 984454304 175788471 102275267 261263327 792778773 601679112 633695052 750549775 468530553 831647916 134770039 126732101 200911821 981615054 921332929 961683210 877448463 565905276 599645690 461688775 591749418 960782442 347021136 124702936 504507944 489915137 103544742 888020779 206553635 655543051 184822554 155017872 590334667 586656429 485738924 159964909 900042425 737281522 959003447 704295085 728629839 241847177 897610971 109662586 895942459 496167430 655803393 622112667 897014683 310792006 106375568 151345220 228702001 724629092 489584520 286388123 707553659 793139178 356272938 158340015 140674059 912814854 311589223 564275596 174824223 738596812 370975499 273536879 455031922 472807804 809984937 122725040 701321438 304255446 415747256 536961115 183535011 944666415 896835556 278270112 194166901 349857703 208999400 360769369 796694559 712469143 594013825 470303457 616141181 592343835 105567305 608525980 531980182 848733797 566210321 601717755 516353153 134253944 748762790 903794556 993506662 644914581 901929497 469952971 303608529 207618037 543695640 504644179 610355966 741431586 143710007 838885423 801278381 636978932 898618636 226465725 475297666 476009767 640819066 229609485 934663655 512725172 268937412 477293754 261985272 398706368 822071526 635280613 253978652 265758024 391627295 378635447 544248391 632967861 721024616 325949370 140917601 267476341 122388925 611242743 148653085 577869662 110200898 906392106 793341784 380595875 454599797 107299522 809693625 463875096 567028717 426195573 366319639 381011537 630958247 294710913 900806937 203064970 860205674 218619876 254718144 445574034 808558281 354878845 621330828 793691971 949649543 942682884 414561023 241758872 557746148 919798963 285288802 199630485 380831919 452340582 472818352 280127635 777995314 490076135 803712481 742821201 783836378 328846235 274595230 651609078 355252787 411283644 678011193 759449928 322834386 665560558 699264348 962306937 992463833 116197667 978558183 450272241 305162804 646355926 955817597 913573930 252144534 201785822 137990906 732385745 333158770 586927567 449678827 983020155 296921334 133355841 606651926 821381673 191412615 283364440 812324638 625910716 995147054 148196441 569954249 337459892 192020340 264933466 190405879 132130315 613289855 763514943 120286213 271572076 555103609 329600357 214367358 810730284 902394274 895174225 142906030 927586152 670718330 445577833 109153653 962248909 304285037 485853167 159018085 852853131 323716032 797119710 406855953 652175053 644434445 321016119 750523187 959373365 361061540 931762894 515480140 198782880 893394188 528482671 217178475 803874996 492410873 167231833 961350158 754780775 682363296 961970846 828964649 585862481 199989314 602664902 287566913 525694767 322451885 948803090 739011697 723362433 510977158 380078248 685182081 647867202 814281733 280592317 297505501 782225167 106110030 461638538 689673475 965592505 573501206 406517667 899551567 317150941 174685106 319713455 775145433 556105691 456399563 815640079 474412592 780750552 594740253 680224495 345468641 159143956 574721994 188978274 838537202 401249636 473733546 919734510 816843988 318942292 140977207 569335455 169219560 834713487 597523062 641569466 267321250 610598290 329584794 969454694 950246023 561235617 303237593 188068724 943981897 576951429 111279361 434827419 139711812 772376249 847377715 612828039 904686986 253893398 979367913 650279303 989109202 131791931 858149269 701561599 737581736 127175907 564039232 934576008 414813792 516752157 904432572 852826387 806164572 891454840 890729428 609473444 302278040 702757621 372068287 571225091 559127703 324513015 868803875 106328417 542678209 690469943 456977930 912104800 980472622 316799906 968882548 548899263 946823902 694373826 459941494 648264992 648800084 305894783 126553999 702318268 523355914 711940392 775074373 122506173 894474724 693881923 898275660 809112325 511130642 502651174 713964230 105379889 511264867 699323539 320025656 106238131 456502834 184106201 133716616 227308918 972708154 561830832 777781680 610903244 136018716 525029649 526327752 280943491 528399588 299865507 333502645 639823645 472115596 239819833 479341115 570942291 832408862 400514059 578736229 222802086 781498588 796520902 577018670 342300444 706941620 379374320 390649473 908794188 945731115 143499976 786873170 177367097 810872456 956544785 941272155 933267035 703321226 686056840 400909067 992092015 389154805 103057408 130443650 963390832 800889295 490852809 936029869 738033706 460713842 296710833 669569321 429403789 215142231 228340081 955182463 230575694 699871008 616176399 391083135 718679042 393754073 286177832 790955046 927269996 557316349 132293213 568782004 360615223 255450348 733924883 180672253 276494236 372545910 338066700 352123935 315410484 978412903 971268990 124749937 666754630 880764195 962291828 708018523 245939540 768654404 987000942 587291708 363647990 292213070 372760611 802418068 110131354 309317537 990740913 494182185 732939850 638231879 153486986 776655038 100516623 297341448 141593372 753839482 565066767 424136388 383087711 935287150 602691042 358556595 453590656 349225132 972876453 872474303 940915426 527039231 818113940 653642214 508614107 153116426 410288737 808135956 147280297 272600243 492199017 671866001 577277227 625321958 484671100 229452181 906940901 221069892 954102269 925855687 724158427 172794428 344583322 392087953 576849975 731983759 440939473 521125044 488905430 204633440 986214962 780210480 516643548 200324133 524705630 357640951 242152076 518131461 681281125 134256700 470300816 707792862 347024805 253499353 910479473 899895394 399670076 656498277 756768374 625253024 254246190 992242945 788711977 731090448 625545298 979652893 566546028 687499767 282672273 282685827 182205681 358761939 373478503 393096502 655501894 172732341 440270175 574187358 680043563 955931261 762927632 434289742 605893739 439930422 315679130 425257641 537417965 347492363 314719640 181482000 387982683 285654824 976778815 931529030 175435708 900322033 458452620 396016925 725588421 254869357 365526371 695905417 394945234 610007281 106634973 448778335 485874829 380500723 667350177 683399815 495522081 301863639 407416400 163121598 451304045 808742221 782188966 980180857 716647730 636207288 424462146 275234743 785828960 415463296 260815095 670721872 980018619 973007090 250144681 818884394 730154386 662289314 359197882 887918815 942887306 349502839 287284506 400909724 496627975 297973731 825167424 647925712 252640558 876270283 284181381 102792771 335666631 791699777 133758161 110123678 918374792 226741876 433353517 713549555 373150172 796900271 775077794 292324622 750936476 905316839 872660792 249949563 249877942 964484637 260249958 127468434 342852516 178131292 701130893 457042819 847771416 625240793 908997405 107516691 551407148 360629027 672546901 467233241 315466523 315133513 156064342 643187161 104339242 790982403 241241436 883812619 960725420 583647690 848263605 125442870 424212984 179263197 869543133 879061211 726672760 764756523 809204692 799328427 593467851 552727917 736872672 182168453 522839012 465511280 569522267 657877050 883166276 269918898 241005866 155720180 885599000 416754125 378353671 361244028 312057677 390916589 224789445 569977381 325623817 120569890 721371369 938014098 219596180 828052355 375910321 345452863 484828862 713643215 339607687 814881209 532428985 125879029 389144900 315650206 485671711 432057017 876888646 688676618 770252855 693184027 283678813 720006807 881065063 249358861 516786635 824550433 525843409 442577318 215267907 930102835 165472438 391883155 649074507 970554250 749707160 173458023 431372460 912421691 575332761 365093878 707939907 686092891 387779218 643000752 572404970 900753949 188228717 676462714 482584809 885284521 536920349 926363244 365089383 848802073 131846047 887544208 654035539 519118104 216857585 767418290 374219161 965503294 207832170 863763342 631092679 983020751 535621078 309289320 162874892 644859440 633636225 672751759 144960431 833811622 194838079 857323313 262556656 662046471 555288864 496294710 825384169 261300456 701699762 718989784 877956761 817423705 868806076 627205187 317554481 117003957 828024976 369077665 778936221 994357033 366743851 787947301 707705773 856783431 478032396 179474579 351116312 209444264 766615768 238817167 278307402 215622907 988190821 926897752 409732870 382597093 291059224 357492977 731205915 867322008 317305719 467584929 890626179 109507708 984425091 516209026 947487410 118998932 498260729 295168544 320259617 839883828 552929853 537306938 590399338 299601854 268906242 633988007 862616542 966166717 575838688 887445283 181086268 300022060 349262158 543575278 104733847 522840518 796450417 943226746 694621209 999415456 377744182 603345614 997173624 501164137 364690591 139998885 510615951 124256791 920221766 810212461 821006861 491133664 424858615 709522694 403121841 718602555 640234627 897693804 159150831 101472352 667407906 964385109 533629333 255110917 361075968 549041746 487126591 967554758 671855068 326586163 203151127 478789898 139989060 471642505 516787443 440047240 550556895 552993762 515185861 604381762 906796053 898140416 332566731 124115048 596291204 322700706 707071670 380588725 463244705 155266512 893762946 315481242 368992743 168491602 983351975 653792268 431391710 569179124 864764671 995876796 139805228 822192437 271477631 540962952 486898606 904958880 567035743 981839169 627197516 891733448 264767126 983472156 504662686 944466069 137504378 191676895 386143285 904297568 156326278 692804676 470788892 501483694 564013944 454027514 429258935 793250312 231648302 606281050 771901430 856842903 832025134 636444576 912072982 598048096 832413905 928155321 467121506 515208636 137358219 953773108 384738199 441956283 835473767 334339702 648338068 651229874 727504671 440330372 955878538 986011257 283093753 157486584 831417013 128047640 330880620 267162510 943762273 472661393 658545851 823036251 560147961 961524583 158683164 339314022 816634332 234834867 925748885 910653595 918477842 959264783 937896248 768331123 700098905 732716347 775190379 498465427 747846208 159882830 721048001 995923799 896223607 575606911 691325439 918024738 608896735 789801895 389380600 204762805 470302467 937036658 526977556 731348264 206655652 753101316 889498062 851680756 125611211 431628166 710550995 208674837 690012536 282053429 737306859 982837650 590415939 134483187 133496706 734170096 348900674 952235561 675955846 874606052 345533744 395245413 932251488 656629956 333630696 329536445 666613713 807984143 415658188 569774724 924535424 742577258 825810927 605493455 738192663 436294049 942699937 215970946 997450325 817936372 458065409 764329123 919003220 295681527 221572009 910242829 713598953 889274865 544258542 680752449 903136930 197971496 101321908 612975431 604228751 329227857 515258544 970892318 656709233 874224302 105197655 430207302 933993443 107899134 158801693 613003801 921918881 239391318 297364149 734418006 263597380 516871133 846323783 700172073 888323467 376538963 771711210 129898183 559615004 220178534 696672534 538855579 686066857 744733945 485165968 996985852 979052307 262299564 689259912 107965237 219593487 262195258 706843490 523194277 805706400 177756678 635535551 886795084 675340532 588255009 946258331 997534030 999317165 358448389 664024217 645966047 446147506 950152468 383583547 948811793 729462293 483545971 216119070 351683439 662059827 861565110 837138824 807562389 497496876 333995555 859026486 852466950 608249367 231273624 646803411 129657724 282389525 911862242 727847522 641382360 296366851 971490700 734846810 509973323 173843904 576563372 598087048 684322000 760110652 520695382 597037956 792835718 629438260 122811426 690160807 695995707 516512664 602048127 997016294 860579712 276700077 711210612 996721707 950016957 936838783 517479614 300961150 981658599 445528032 249916866 119582306 420957348 987776546 969157923 751532050 770111426 419581768 563585597 504399742 258362100 775827067 531589827 115738715 214345754 416101905 984304267 248731574 629713727 653285391 922345822 347177595 980775771 127736034 653959857 632648064 825779309 972284327 882166675 467967793 454148975 156457452 372012118 650462833 457962764 285475494 969479784 438120842 365245281 581538922 659272683 379094356 947610145 624058599 673947381 762067485 764828227 602237389 511063190 221663322 932781859 497153946 775586083 186402837 886899285 174266602 974208553 815396239 904307146 329556125 943432302 491654675 223748058 882991740 263490777 545085121 653673383 750519957 340482643 786968777 212312238 136090966 383750528 615228672 242986142 827731241 703747676 713294079 532362763 689380735 559787689 570098825 652909144 419201146 541279193 684041470 534946085 201136961 132837743 546955669 391134693 620990977 720501196 868250612 633052685 857979413 806370647 487808807 761207687 716778872 426502836 611911003 477527544 769885011 151241270 848550719 333964699 452918441 607639723 218495018 923870231 694263655 430706946 370806183 561600841 698558849 576642394 207689683 187005920 761382026 633353617 390535754 623643775 810868645 868644269 159455613 279160693 687657558 256648342 880845192 333158160 557721455 670602335 584188471 802731445 395471766 182086905 853715337 283919015 279004585 223251850 967575583 327409662 705777569 396498074 343285058 222785441 999750017 292558771 509932789 337022988 159701602 432471379 447938934 134902655 311649387 955005224 725647391 991599652 846684121 726760753 800119998 640657622 595342367 738239865 980071881 968841156 419794794 130472308 618288732 145197320 908204081 995277024 460615793 605694164 450576035 635286370 334108608 139883854 375518272 260710515 873398935 847545127 621860157 736102796 536736761 323837669 269949064 594622635 283146369 373178166 529508092 403222561 324268236 407014458 980522904 192768170 805619436 958629489 358996882 182076954 893698095 361631265 303527735 464760798 967553281 303277957 212808952 118476146 902565492 876387533 994945945 644548199 194846465 987451125 805326364 456060180 296736157 884946163 141820110 809157556 928083019 926340342 304691236 990305928 694049767 212129722 799201647 666023524 361300281 285674087 634073683 822885341 570339219 368065344 797575609 318629408 145201328 626553550 418375928 891046225 789077951 120780292 910605773 528178888 758512526 919852729 523306433 225448531 339614258 752578348 324469905 206452726 260013294 237077894 426366011 345153827 909523897 542710397 438086422 801625891 211697238 978092618 240313650 879478059 787061892 845193222 972765909 555338699 832986428 458349168 943769341 917118242 530313836 976471299 325837553 928307655 720172995 935614963 100750100 892599338 198024029 911245646 430815516 712472625 850676084 982633685 702130893 190437753 830175505 228506760 102370269 591442546 425415582 884983486 811552872 131656688 129162865 819912878 196017620 384379903 961802266 490154376 866955477 329607001 148561251 455433239 600681609 370797747 624682398 458634460 197935064 348806322 989224166 242934396 446715015 994577666 979253454 846435805 181246119 727339368 125969534 691799413 106679000 496102377 582292938 324106340 292746351 407368445 208778063 635987296 824968676 379108642 839709288 727854651 136404812 477789631 765638019 665757624 885406386 236738001 314847978 806901008 148719821 636631137 283489816 304562922 436921029 560612968 303505777 636315418 410085903 150209055 253793476 909903257 727289894 410830025 826504823 696110018 197987578 865484215 488487985 645536752 229938136 567011008 871203513 159634852 447862935 357928161 821359507 724697563 272185184 784746278 976134015 388913016 770133043 997043712 460054753 287638850 471012739 343777621 322096888 617194002 186684610 228902433 951949503 284857417 588772785 522014880 228829561 199639105 130375037 208952673 237272603 173464232 594285927 638718083 733299566 759336113 400937720 720504960 312262240 263698870 479399736 474528356 981114248 421623388 936304265 296279393 125122950 518601528 788539375 164106804 785264645 174667622 808024918 573039757 304630175 124158697 220515229 146778608 262262348 618020662 151676586 131523645 897509787 166308368 917724087 636692633 291623511 246671578 593445547 921048199 223590467 168507749 759125628 515170639 425313336 280036086 548894663 761012518 682881445 760741865 271072319 670324867 723119678 620629277 102452299 287976325 844098319 490670062 310789659 945630173 473896692 458431256 483966488 201055362 175854385 518363410 125262020 177817230 711796918 611440361 430603768 995170189 954124198 973787081 998911684 946059695 294167809 627118776 478830640 372639610 526823844 400549685 238093242 122284011 903511692 759508191 589406292 141439573 405446704 739162782 995475652 164411053 657883449 686255753 351748563 143046179 478039550 992137779 208124394 373901210 412759495 869913133 369776064 960168827 715591831 537349993 748570499 846016360 907730375 206038744 332150779 579567607 108008671 750082468 874755396 404101016 396006071 276039520 454474331 404329290 888166855 594519814 600437648 974491490 376536286 930128455 183243824 211221390 939291257 625545757 726837951 366612409 747884847 822795140 445965595 752459284 418339595 173835273 472833294 749893129 425614351 453076060 397875209 327928578 263235857 224727179 591717063 965508526 102685272 523635331 323018583 372786573 778334796 381665844 271756074 287551305 237120869 957002447 809874269 538014677 622698103 886868777 880067466 927503884 683915548 747566991 262303632 336962679 733514366 283297155 618751523 199172492 305316206 846366984 722814912 280901506 896878676 674285359 814220579 567188877 877834631 528831820 602755340 531125720 729861801 194530972 111170999 472513967 127332219 139584100 271380669 689707409 570959225 380744547 744932378 692119922 765778211 812355848 154324473 733646623 315586079 590262830 693964154 635302138 188509050 108779139 343517233 755185949 722578978 109958984 746132759 175206993 934405933 837020944 443386791 733946295 861965492 284095069 235683775 980043431 106455790 863976348 388241463 519664602 788453416 747319653 817924684 704214076 420332704 957385074 993551354 172280329 194377402 216890393 127542050 596413390 919829740 769098026 492474000 493405423 167587645 398205739 727625111 458295316 541194705 950170371 355119941 527600793 426048688 757897118 523138174 505598298 541571059 653298712 674101437 193904707 525937803 367512451 303274460 845271359 575443950 594850366 870422297 141860511 144881377 227884783 493145364 603345513 144063509 300480551 276985428 401029963 668716551 248189439 908553446 733439507 977352681 409462959 463714563 478049972 749667448 805408870 716390180 790666479 559177167 942379807 355485855 995211046 521529577 263268735 876376280 326675678 315682250 867583543 695597833 734852187 784673203 115999334 430808799 803559887 991182019 385571184 251242347 289309483 480985487 611870574 175869778 918972072 464489274 238398818 840170601 548516044 538710938 600199211 230107344 952070292 191112530 812268512 878847031 921160365 709465147 148191072 652750133 771659462 963788433 536485572 502191957 905200087 250339975 149329405 588228994 453334166 861883177 503004392 418075458 568758686 695983158 250123333 852237546 515835914 624215910 606030177 751569141 258359980 192653117 722930137 796824274 977442176 163410291 249379460 850758686 262998671 525780846 333652896 900691864 624847410 753051701 120162592 867659579 916776445 753428242 352884284 762752677 578775421 419241282 438264049 578152203 983926375 479607292 294044381 640819819 114934691 569636425 848031262 159737836 217718516 332345045 112467797 866331589 735125195 747976868 930403350 244236295 637042019 927110072 107246417 125781107 568332018 490545303 381632711 285382334 396010302 496409179 456706547 358587905 787384831 384761162 840715865 566228757 876334701 486218643 638611113 792173746 752783931 108158339 420593976 246479441 470457607 593933177 499670123 911120344 850620983 900671429 799305077 723007591 804639736 927862297 313006935 391596295 735523803 768662979 320289959 908687716 835767146 175921376 653006652 448474154 410142549 903939553 387171563 567396127 700220712 620718934 879553115 530809290 330927649 804366406 472273756 741330421 418771448 886875347 241398890 369862806 394081217 378958037 538238993 783887595 666345396 844533152 403871481 306600277 748083891 683365034 652375822 652281746 547529323 604494957 392331185 356129164 475088914 580402205 866085700 397900281 666071000 350049824 732999689 196471234 135911624 383183272 245180483 570849966 254491121 226264006 223008030 562196057 557481797 612459580 187984679 998524932 825694530 597205578 302498531 295254471 938736598 298841011 221172671 181535047 168828491 876664037 284135113 625329424 965610513 718579912 586064825 532279402 580423723 359789253 694859834 881589065 713333570 145447805 792944442 784000915 454967261 674918360 980289430 164023045 116125050 254358958 428578220 577809055 461243911 751204895 656857998 556188132 142458747 985160366 814705111 276408362 288261637 787936332 170818337 287186826 446448816 858571854 230217446 391118077 233971397 585853306 291015424 971733245 961073477 953699443 847781335 637493459 200106300 122204531 577147092 792404705 580300969 191865294 510916465 328365287 998934783 107708803 204881090 177126979 865412355 262732245 361561512 468787522 782770378 579949060 819435083 704791848 329297145 189827927 748739340 594550653 410340944 300562572 746417205 555623367 698338511 101913739 847797427 932855497 452329289 306445764 447324373 246358283 760619565 622850726 350629694 702689643 924044414 181833972 617329866 875963495 948215881 491907270 678065377 716446947 400439083 763745021 199560611 657589179 344929410 492147862 571477316 189174030 894776210 135758493 935726864 902714748 634456039 156818077 385825088 313698488 742962989 659517196 126334873 135187107 787474999 462386968 320904107 324522402 963964142 436306860 351932784 392899685 462418144 153115163 807911358 141964008 567882704 900983181 923847792 218971669 546026890 886216538 225650646 472081002 644136240 828580621 278302801 661239802 530131311 223697566 586328784 706340620 997565136 808775828 343211987 422787093 540422749 871710045 981234055 415021947 815697950 411456772 762128357 687326067 233435852 512782888 125522138 188829889 978903325 419427530 934057876 236349486 637044446 200969195 187950263 550346982 512954118 532993020 916383435 417941994 347312202 858617569 715458855 277537224 830479590 729065691 619067566 358254699 518320225 935763157 923370755 457296939 476689406 129416668 440032224 291083170 587049822 590751839 249695181 169326293 323910187 460031777 222212465 317706413 409234410 326404947 314703285 434418196 255731834 965910930 717483355 535275815 299932585 821509158 363062271 556829841 357341663 906941673 674388483 882209964 264873778 936630071 599625627 923306386 696380712 960969201 337901245 550806453 207222068 942020332 455921968 695400704 553063300 974675050 572056139 679848731 558446530 870160342 192769660 615074224 559134901 769879975 150198951 628993380 945662766 591046665 132533514 988140860 746993918 965232959 808567531 241956931 576009140 439286665 538273368 147731004 622487174 563075119 533609091 412209782 756602761 263319405 471383806 514898283 968086813 851491734 211607238 719835965 535698867 489366306 294520837 142444298 634948037 356547802 240861298 245578636 276188282 933656992 110005408 735821898 441778719 466802288 457599134 303565630 636210076 723525472 960587302 149014859 663824227 403079954 281203522 108450952 176233000 375681034 414435462 417301022 207821658 701339209 203467676 233060943 915753733 226641989 270998927 630511073 143030087 299888951 564888792 899599732 796517250 407129182 934894884 195537881 908251477 262693547 896495597 998054479 105408587 606937030 379143476 480450857 759090417 984974456 587550465 141383322 847892835 356903701 660130952 757516538 492843186 908363281 781826705 295472194 340278188 437744722 250709851 700449066 738903274 872742413 875898818 720121241 109123380 752509086 325279327 728610323 270293124 181995463 679507002 878838695 437470926 205550778 203687538 979040959 643147753 272875031 869548022 394735467 152339805 104815510 716138695 723256914 213291996 730039519 943219620 233605110 164010951 984547670 327300904 929319742 481582556 592364445 528459191 465171176 284290969 332211654 870851382 634541078 940795605 931142002 266597939 745781023 337994610 483083023 632028431 220888149 640995661 168813835 535830676 312608301 378952194 164258154 425497113 987122390 829300264 324853341 461023003 701799068 305233803 949448401 583966339 619022393 116421274 918982653 367664391 126267539 601618575 311822760 345574848 534579653 573425277 372131258 324508804 903465866 698718289 610851597 683446496 116975040 679417770 941224491 301244467 731305664 117295174 524099085 635119393 337925512 776298380 650761959 124262331 880845457 754708680 489986227 497425613 857709663 318241530 655982363 640619029 236749549 713429929 429610299 444830795 767132315 558630547 647016832 293943083 269326161 911127444 625986176 960493990 866555000 529803060 686907803 853901962 331043882 661703914 986854841 415648061 490135479 939828842 351465094 119156445 545965103 506843967 432770539 874295748 476017980 721475058 122848270 660877966 778582384 681217474 320965363 297624572 982121042 841656220 492979688 861535467 671076118 273323032 828473258 499878992 240210302 592628248 637762641 494471563 613525630 714117700 331577319 206276105 919885591 914732789 970314456 773783585 906920530 960844370 500933753 944277925 667772528 744642673 330636164 509038638 518606474 511888886 341793242 907661564 528704906 844163561 864065026 173159239 333881527 129616452 149082496 819894032 430865578 356202792 716139548 810543393 669196506 523165771 424564499 822257939 579422872 816018580 995497063 522150061 704233404 421608897 409961000 482911622 440359238 467413538 856017638 165782371 451020093 287276538 940626658 939564928 412032379 236124544 546281567 628026081 873962356 724693417 444133491 212387386 349289069 270260134 691271968 333017573 347408498 486974013 439230527 688085708 572650965 869070306 944951024 409697682 224160688 826116329 204482261 161368185 234703528 853183251 595795249 952002135 847524225 382154549 640929366 999109956 375481110 106665937 632841486 166004185 789593202 128837026 808312232 124317604 140980174 818697757 355110092 191819171 752769752 423649598 805975045 869714918 180847721 410423519 630853970 751990314 344136112 164104640 105254870 794395946 646549114 218345884 128603633 764598373 754538203 453037687 982564252 175627335 828039705 928929991 248499397 911695747 357460406 996774953 894252029 698571997 488981616 435807789 848106939 676216126 501312974 115175073 768861623 840414159 433524789 128328265 298418731 363428630 644614970 421455952 294802833 940136101 320070640 328882810 163566223 715404210 387059562 962433683 891753322 152882651 750508493 904651909 494246624 411777393 792640535 682011365 994804308 925252841 673505825 108010754 920779803 144790922 302949632 914745982 935082829 993586134 560134471 965525660 401272914 722548768 295979818 828417181 808590645 934072772 768803093 968908504 602822083 556090128 106574579 166439576 324823989 658790551 840733948 720058190 175480344 616684320 832514385 401155716 789307611 449545105 362304004 847923144 855189855 108167542 790895423 746850472 258004760 710895579 206672584 553575657 804953556 941447645 278970795 496050921 618284922 895084154 143641995 200029550 195941576 249762604 771480471 966535257 307147088 863950631 740766012 966006789 884681334 774136243 874336439 242396239 512240164 200593630 108974797 778238525 343181112 196443282 890883077 813781194 989386624 264675471 166428758 550513185 110757054 713228969 573071220 474494083 113688531 198174344 908827845 312037814 459813847 451954818 118449248 749884579 538200884 979033669 405676670 501672681 851337962 556564798 764907816 584462292 746883596 218675961 266318192 356947927 107455773 426368681 471167558 486475214 266255428 288333140 519851481 137192438 946790726 420963988 370802128 560692423 238706991 234681730 284710703 781543211 105997580 882674182 123741068 105074220 459502776 769141873 115269751 423912047 532688505 423617522 373823580 177279281 504767157 211620750 488851175 621685513 684496495 664096030 763689973 776900018 213901538 371068741 611839957 670866864 464757830 412678737 376522698 729217441 468599293 501034156 317975690 712152563 559405927 754688275 726032307 279890605 426722542 233065121 818839023 313095191 951301533 498809274 722681127 310055545 546872670 840893203 305074237 171134483 888657909 863742441 559027742 602904159 271911969 719695853 881094843 367538393 525150695 499046804 342435010 242279106 963796945 371677755 199593433 948157395 261596790 450533023 954401312 258276989 632347101 104022992 984107800 338525412 469140703 341365396 523824759 384626373 262253021 802073954 768834220 528400522 415192309 915766461 781438410 550188437 110362710 711895721 925443335 819482744 302521767 731131093 594172026 631318733 314957686 762641146 406706041 922876852 900348891 329187904 704238082 690192328 792066146 183554563 819478525 650015198 588669003 606572451 318893264 142453485 273412748 362474153 581568503 486363009 268762806 371159256 924520381 852604082 668993923 349174993 232714422 853637663 500623078 292594996 547774592 331459015 415435476 309901233 547365115 736667635 652110654 780952434 884257781 514311629 737590064 157053790 859027068 434457900 732018313 480768405 545006226 405771964 483904557 746619631 844116745 817545404 457506654 370892938 830463709 601419155 396287610 639490494 385976254 771537258 176605576 722433755 991464934 934003721 482273721 483346550 140401196 603687533 130504554 499995480 294688618 724316342 215855500 287325582 889058771 934568331 648229418 944071052 164071899 518584784 269714852 771964614 222680061 799308194 887045689 682455363 499821056 318682666 391774168 942142393 606854484 939897343 521655864 123863153 849542052 156188739 699582083 655427045 622555137 812905873 381580269 664844188 700274627 921863018 708209383 724639578 179921660 712765334 375045258 918886928 876645598 381951309 142784099 183223078 380529356 236916041 850719499 548703060 855211466 954047876 101617548 605032539 659567081 555363913 504976961 139378816 545603779 364965431 815568722 439931562 322112280 845773863 958208791 680288147 739485519 472359391 334619759 498806322 683945630 181180356 753085010 224153707 335313709 326003803 206337675 832273787 681194319 942987465 855693474 553489213 191801883 429841517 218758771 295185737 653532122 827311266 604447356 556513548 635320706 574292899 306397331 686250075 540897719 329447821 349084649 710196250 446366656 690130148 724012633 803618606 530025836 393081249 532582307 894379104 376027893 178984989 131226161 720179365 542203946 715993835 771028952 569314036 718125578 449155076 914932616 658516606 423441603 446143280 300579460 924360867 230222288 319320479 714306789 125838886 719746416 637083194 759355291 232240801 640721133 940313103 399554525 333495788 976616906 689880324 417827638 608270827 508980580 393898121 628255678 399223028 138302966 417331377 686265706 755903520 246099096 900580282 722482163 199951698 537628182 741232775 481189388 136923311 308339091 128067584 438632577 250281677 178612779 638680110 765136241 155965648 302664522 201516451 869469549 503226154 690769317 863941293 101447796 921770545 480961146 896587980 524178778 884758842 483908726 395662932 359940986 933472243 938075954 922907366 764196779 398251387 645565055 714720055 162142969 773220128 792245629 321972291 911909911 258480942 295659005 735126454 178692957 342209262 569840516 768163844 731726569 162102719 729041664 199352051 285164629 965661861 326695976 849620763 587904681 932334808 568425218 794912436 991368776 332454930 396836158 648220869 839333654 135732845 758790957 623135915 947035928 818619058 608549788 654243589 386588689 389729426 116719509 450507649 376966725 925479356 606494064 803014157 615632253 952025903 703816593 233905906 227593226 926653172 782357448 401567633 687462396 140680268 496913769 947584711 836108570 473703338 670377374 854953090 171208928 572381357 852190448 251112458 790202415 535589162 816711656 239879974 334820261 569421668 307224882 339783630 917155662 808561815 423195544 484496168 138846177 966252095 919545434 130995818 604635593 496936754 555931768 491495682 647232930 174949095 517619851 317362162 351854852 502770277 950068512 910630487 851854496 422868535 711646177 660055329 721892460 352458682 896451000 348278437 754953815 411103456 198519288 915601356 923354912 720950002 783143707 177457812 415224808 265610649 842195483 362452697 542906948 668091552 449967644 290940577 223186516 813521573 723485161 270991680 430206565 757663402 723911242 804347403 562067905 846587481 413608941 264132719 757400606 470222546 550576824 609192580 195284128 945084395 559565863 493201589 647880932 706420130 221440950 461096251 130487545 861689763 547937743 756002341 865757508 714668665 727737140 627048460 847250265 335192898 721936950 215122403 463036817 625260919 478900569 714371240 779593016 925020405 547137511 537161413 668363463 302076202 957892127 120888613 441242849 253061295 208761381 498203643 791660749 785013376 378560667 676821770 626000230 519856688 497976305 987066078 561578338 778854446 603410411 747711285 590900578 840739469 172454792 896487507 101803574 663698936 663625530 435888246 360432756 292062886 693119294 959125772 555456829 844168452 505493470 643660384 633287812 418862432 774750516 635949472 526774465 675113981 853748406 154286501 215905413 892421315 320186862 985883976 244993326 365323966 482604125 362184528 477056356 635900394 690862646 838714533 128225856 169201989 936749873 160674956 473395880 824632888 914911348 443167172 823999716 656222670 939397555 914220632 275427707 954108581 692792976 352791480 774205172 191386556 364855324 298030086 494212673 138378519 331241323 955304755 525891270 166138349 756485836 856244844 718058980 146331679 600414348 148365619 537555405 949722700 495110026 333560334 150764584 952038454 435183354 444174394 564716034 478032907 742107724 315953831 600029799 481531205 869407915 286785679 274053514 720456745 830356214 904546043 974714746 716238015 362437632 277881565 602016655 463385459 748081352 857998744 916674374 437019267 432255529 709862136 425553563 307219824 567562215 365325325 956590321 791531706 219247743 394259076 757678142 868997723 701093187 756454475 867382244 987797896 719451633 626324468 602069372 413743751 416839334 834555542 982630316 159575394 220982991 451891375 841996806 386651170 700996995 541395444 703346754 650118561 537350509 986841609 200102466 950456510 301571576 661346428 476896855 719693064 815847974 231925827 572849966 976145923 492213960 533572930 147977612 399796997 930412586 645282773 697603906 523228738 393483222 794495408 328269209 870211379 923511413 747277933 168593477 976501457 291224243 648221073 744134758 549503586 439272143 117908079 754563697 205196416 292360296 694959809 680188854 340559172 983128008 495662004 497991534 800457962 748926316 833433953 572851193 356490813 431586697 796951852 337878720 527614961 433803250 874289173 729597667 841911245 334581077 704441345 192505987 612483641 189872728 496294821 876440669 726132068 489144908 164485967 508859491 312630071 313688037 829448150 238676913 515919733 315425539 123637795 996662232 837727286 971697000 797308277 265465366 649145547 535963338 128605704 788069594 504949140 789533033 843484309 478215807 962426934 371098704 932443564 153360289 721176626 226127678 366206750 782066981 997228147 100205269 979827494 636334455 250085300 826043513 401542240 891163840 478013571 989444358 938056311 746916987 113859748 146055863 694395522 854064430 648993194 307022958 894839476 168165246 136273073 464452933 496056835 109971793 514687965 138439228 653541227 650857073 624771872 467458732 487759103 191923655 563875915 817116662 416155979 944372215 718939277 438446893 496112594 576990116 402464823 130959845 564158776 831883467 313391356 426397646 313931379 937684865 160281420 941333629 305884929 330592300 826293911 449112858 275641748 843021232 163019177 815565057 969194051 760148409 621582404 933353360 380584001 774210233 824296677 991994087 718864251 870235147 802935597 659280737 917227940 557832785 484547486 536554035 735531181 242780406 529060080 276543126 703844637 979482398 450213646 536174396 747084629 237965191 724134741 352398251 280380726 384119200 950025175 298833478 435242809 983466083 487328558 469290412 821656477 507347451 160813009 463757071 310018917 236068597 753441299 830174334 555159103 615695727 491541877 279102875 954995159 506724614 204318656 925999679 245765381 200660326 911338104 389884974 517967717 973185569 231561757 216947775 307879126 553061415 927376209 384460897 385655206 296619701 213007632 572118349 711801950 764229718 212038635 915225997 178728625 713818128 380238387 494687276 140338524 117625234 304972776 887625597 344859616 715738572 941819013 221413562 249213367 877349383 975564073 109822834 455554244 916089146 562516629 993635995 198136664 957676940 283337764 701439103 759654962 423034066 213966861 212499139 853346739 242993697 539362242 645064662 977368778 585992673 562393290 732920039 865795995 626143390 393822958 579936379 400024389 161868343 604039372 171939342 577282714 382108641 902163378 308882738 175010345 179911198 976534634 263647794 799361476 837574462 934021018 253288938 263451162 939159878 576259095 738154811 786734057 146964305 813032924 750865874 145698850 204723355 851868309 325990568 483757522 984543369 102514606 333154530 634024879 855776355 753965789 463085530 657130955 973871308 409639258 121141565 794853922 906861693 623151468 327709782 364780693 305009111 217163351 535152209 574858828 334992370 378912538 418819862 991858164 301051406 336004651 258454669 515251174 195265485 957226690 156518965 883889760 144699137 529604444 612902830 202665701 755624032 927801192 188188433 532828127 772817854 315956320 238711577 979987504 513176301 943124287 730819732 299526232 367771666 720985457 306467839 329088737 866300931 370931572 119640963 805275768 935625452 314574184 295257882 951999689 217335570 302299092 755628264 400790016 641945934 338927839 338757578 731414383 214757774 805493763 277705328 754889263 253353671 523213665 922003134 901783494 399817087 272227433 508461803 706569897 562644975 806688208 615097343 572215185 956334610 730696817 584866515 281206442 456372608 782951772 583230709 761574451 379404964 667626139 294189421 894885708 490316035 898857993 151430410 336379980 475290567 437325890 148540949 247872207 289988505 528404820 372156315 309733891 218003766 569538386 929188623 917784806 227140357 605112656 707984451 616697493 960395357 581048922 157787907 779373503 778192717 727778967 750531727 478427330 859425809 293693029 857263837 400258090 927949216 493799446 200726862 838886851 331334973 775283937 881012727 598330713 995204224 992167019 153746744 698945925 190428686 194069096 459864275 797241142 167456747 418280344 846318238 243694963 843483054 947486071 128751226 751894202 695780651 702284507 902040430 162882453 594687371 442951819 817972021 531907825 253415905 236659706 109973675 232950201 917901441 158559795 741434338 620510904 872323186 574355276 168419767 706229088 946142952 612194864 932584205 131557019 206156620 813775111 427882181 367927561 709290381 773974002 394633951 111716004 382322744 692965151 232135311 402745004 857175545 387132183 763088923 294043267 482018801 489305102 396928124 809987338 624108980 366254058 474206506 941549852 661961527 944677355 393043799 238432170 662727965 431646320 130497929 877385549 486978116 110359554 285118310 948853735 213049390 552526654 353775056 558764875 662356344 627982629 251020091 660329351 623647760 726624333 968813964 928433429 687498127 217294934 745238883 530877033 351160982 350172792 608476699 197817181 698727680 990726611 924251319 566152610 960470984 711593330 377237464 315711009 550805857 212690562 928809660 574935700 103346299 624267465 416981353 869615456 952728761 879899159 970060065 574040416 263812411 672407682 162044216 410253162 393212804 896342268 429562339 796037212 473926763 571230032 488634864 348031711 424303427 579769773 662811810 137424286 733268693 333866789 312225722 853969482 821078469 136848046 393062815 835658653 759405373 353201324 169506825 585655878 809467551 576352585 491577311 474856154 269693209 790946702 893067954 810054354 337529362 217824061 140105063 502413622 427212275 470604864 532502776 466848540 812843106 182703644 679828121 562464524 933939899 400698915 904165417 382345873 524749004 920613164 964618475 914758410 831701164 470292058 122769528 308616373 376903523 175350167 737679560 194044689 881038422 185393351 898362352 629523378 244046545 109613860 207812177 245655137 468167374 936412224 280857538 852216747 911496399 806372859 697933427 660312657 687653290 310528857 383331279 188614988 498227566 574609485 456128884 163343683 821881743 539447159 604248988 371635104 865186168 315002825 852022177 358313408 787520829 398220418 727543769 153736270 226519657 408641146 914914770 984135986 767938644 448870722 844729786 716211959 486764093 383400685 377789971 112178219 537704697 832480809 598451975 613712324 408691131 961936074 694004174 953965121 517622003 890426788 873148412 868535843 756290986 491573444 192959172 746849606 722748152 360648301 109296802 806320784 403276483 133253679 966615200 689556772 979935088 581852998 914216627 641994908 502627520 948698102 456547187 117418693 773693583 676787507 224188181 548722493 279852230 876849878 109165601 541017134 989923205 849527481 782750864 574117820 114585177 439856267 500901956 812736183 254496237 502267283 771712465 184235751 469190867 222449247 149728027 981119869 702764613 708141273 907780699 253786926 439363087 143666487 270771959 152646642 759447651 718492358 752140399 733466209 753934710 883688249 699656293 893850384 175261506 773217385 430207369 341236295 670326452 623568809 439042911 786910700 872861050 814359884 551233424 910278122 732983979 224538693 241173682 710256325 245745199 335480436 574406378 814062742 803868818 783367522 577153592 833942728 113527281 250020306 719660420 110472525 770945478 452535151 901613040 646659298 454336070 867274649 951843854 746704853 946053076 393699054 963845501 532155003 517721660 381277986 455254703 955419214 166689380 920830644 835220575 346330900 339236102 682740409 276271070 724924788 742997286 713053802 911012430 927913946 625183361 357584724 511273960 253035834 711245662 364394612 739533437 419250942 746184367 499044640 238069694 562386695 428914201 166077434 992178574 190070463 339351024 543792621 908675568 744016529 873599435 534497429 617852868 313320086 426038800 751647087 620371437 402886964 211342289 688158682 104726639 508425041 375095952 198195588 986765891 835111959 509325080 851163414 303383458 447151108 736154304 877042900 989902884 432118916 853245435 463800178 500001866 392051422 327081522 657535993 993991704 409899066 898571762 605412626 771980404 441014405 509334845 345584056 612478326 415450483 120150150 603285667 898945597 353384345 762600102 636530940 146925017 146455727 211920422 279471145 622548231 768624124 692904881 969869082 246698515 877306525 312057765 257670969 933791118 190336571 272193926 372275118 310290204 261245402 958745848 303223964 171909869 524958619 271628035 126951638 377118202 703936522 644641823 842728226 536579359 408786092 927250238 976201785 424022673 356857615 781652244 845286458 777442345 650948785 861498758 662879932 852711937 295502080 550027953 648858530 554490516 845398254 920643425 939954709 202450608 470418070 157779136 561202962 444740247 633462719 604829621 151892467 384463168 675970246 275301878 618798375 524788034 998693022 914728253 920684032 384787301 322695800 711750119 993434972 645919397 407230159 108697800 263906464 186406623 435830894 159916766 895819546 450140365 679026034 283620644 645545073 272844659 916333123 723874538 218688358 349386456 834214530 933883787 470289881 446251915 573580411 107347969 773499302 933277726 760606967 398058500 407238422 575516613 689478248 630892205 187768218 465658279 414566321 104787676 565785370 870831808 380094853 230614390 360901564 413955436 276087889 752671034 648035777 899745690 309174070 137213291 768930815 539876159 349339591 545650301 251154313 863159986 815284238 743172626 232301473 132229426 184123186 176089816 487247067 278932071 952750992 115552706 130332152 141414120 571193883 208032006 576513501 708689299 851946689 654727146 439544112 976257739 679876305 239725906 714315401 672612532 670789547 406387409 335662235 492045467 416516497 741623184 893512834 773524984 233264534 343030953 379925483 589392400 806388685 195059914 880336267 293416938 423787236 530519290 731885489 409782260 697178922 352355386 892194101 367198168 292512193 657694623 567822477 144670882 486459069 472440386 855204547 928728381 531067729 803520272 427076246 474622969 790955170 329583541 322702350 860006274 132830878 440723815 176888351 367778846 526696064 954864635 667810327 739471615 757168040 885808696 347368901 239415629 132649907 227867901 246972723 143707221 478526843 560808258 582571317 366975342 726506637 260590551 897319077 515649099 557558025 543453589 107813701 797957635 975867048 375592001 147002418 821894345 995847686 874082646 439493353 247893388 798488525 310042609 434053938 547437712 794339730 832239176 927018757 352395702 218707194 637526173 937934568 321565985 958799414 129633570 931682958 864368748 265823324 637154653 154681480 115398978 968567636 161507353 319194099 563070646 280252060 599471702 399671716 981421113 113928781 449876649 943279041 541728422 230380124 696247409 557211472 720238405 593949098 641231456 597579585 127958062 690650666 759904717 437810582 932982670 421572620 316171678 669532014 659441585 423983026 310338367 178175089 349181563 354197723 579470026 103152189 389049911 150571367 189194080 653318335 896779839 787558990 499910042 771188804 737502122 156029085 111029309 683540131 623757532 625799970 316582364 825860918 219180048 904255676 387206057 945487237 404380843 360456751 554953593 388130768 782273096 105882384 125612571 381412170 529493472 518909994 603139931 385616414 331833583 937020358 472777706 197614102 755992338 647222443 511803370 203024835 239166737 296475778 785673879 255319053 336383176 618564711 963097315 371233398 793936129 857994380 703479610 268067485 955034733 860341755 605927968 599035050 712402041 860333404 743727867 364198872 143878665 467683308 962326172 432642620 340320923 168217580 658187016 331156358 692306578 509984304 965686142 253624330 618933823 762113643 973770971 561141990 985983196 100337229 852243825 419715608 778328481 900383399 751824474 407435222 171419604 337817928 879648581 328068092 754277449 113096522 111615210 865944546 237310576 862952152 240587120 601218561 839477973 703205338 817297418 251625379 860588076 841230148 271213409 348318389 662264132 450705022 738877669 594471551 635027167 781546011 782198486 970219238 185620726 808390677 227257552 405884723 773273122 789858193 109255268 186335276 733486112 547604908 244706917 476683590 747852854 310314354 560176325 807840709 269072091 918482229 982356378 132099134 805422270 317106116 926766930 727735992 430009374 649002682 941984214 555084697 562928352 312982922 748982083 832159759 164728654 968417040 314069487 288870624 472498198 828003513 345016265 423161785 539252568 457402132 688874939 294791249 244096517 127535830 986590016 865323699 235656164 534391306 878795709 441855856 259637603 812247573 305219433 623334961 972756969 139251671 412077970 149889505 762810452 796634320 183998043 919910293 636464851 501998280 319780177 235074676 558152633 239488276 580565864 147030172 802115150 134554201 303200759 613568148 710044724 682963070 261561903 627316666 640888324 584399469 572468640 264951312 606926296 984628278 987622844 449762833 374464980 847307787 673943087 600129601 585866091 249091955 889489704 221695923 457576446 590179738 308664563 974587576 146112275 185747861 179643858 498299453 144911994 107437996 586235820 937868690 653456734 953636735 397195876 179092075 725451586 881021053 158270795 407403154 592433687 635847312 604781237 736573342 941571269 834867018 833473183 406622566 690451513 618619348 163358315 994773797 481427052 319421281 627544086 243051865 433415513 399975527 253486020 385689687 136773446 446906455 544776353 175745736 288454484 946327829 247266240 119569210 250355686 338877631 255049322 219320999 820258580 599808404 149982498 836134308 824873575 871168173 304268454 157690599 967794132 505923345 534171423 908437662 427793450 508250076 519109579 492663703 233554540 548821640 264678187 639973304 811633625 614968151 839151581 358532328 722909997 476131533 319203056 397846275 138201690 289945118 750032557 879959089 182594022 639438364 341527844 118114313 341257233 665134592 643724340 138590240 484951445 331619631 651478141 530235617 737788588 181460459 141576948 802124452 218476244 174141870 935568716 578000910 314435602 401597623 897741813 665060291 731712769 897219395 146594940 699530360 588609725 789137753 304253463 179135810 247987957 957498108 686239453 939407110 219214275 839077625 694000517 586738259 598075490 213566651 215058585 121302588 757553837 122002313 966086217 738418424 648015033 611635605 298242673 742020724 899063241 497752777 326588795 462698522 628332820 328351554 433272016 147591688 117105906 313631360 603491911 329450753 253631029 772344525 246196974 498284567 713160746 640258615 663852838 370496234 655836320 296724472 954348013 428436509 412586590 952491842 717690597 137294452 862669703 257452914 141716065 299759068 493197311 389645344 158039705 230745872 497754352 463049207 308055556 951086937 467895043 537901679 297070339 296928248 728918252 291511689 976355387 111731472 593568584 682018440 568776606 430500873 197615763 656899427 516975690 283637785 580640862 978613914 754526056 796442448 247162163 480974534 137849548 602767576 626094179 519315189 527783562 527458697 873420908 899790142 447086089 374614674 441856423 175210648 760064008 476004612 690391839 898363876 170324938 380013297 253550573 201082768 355477863 192098162 892132434 384815091 869145593 345409490 921764094 136130112 454920498 501341407 154236281 317784932 652864800 280645246 275966108 681178960 195953989 927061967 667137173 638607601 697174229 885514156 372086707 748437758 551401774 974051583 685882600 391174038 970824616 452044217 919095629 489828742 719230798 202466704 346903458 131365775 938055168 893713020 435373385 919909190 707831302 287790825 850740792 706512764 865193668 321894166 549334230 663676111 492068023 696770176 906434072 589530968 514052625 318637447 940727231 866069056 756394402 520489458 404201500 655781767 439522562 658932907 306429726 787239802 842621447 999614221 863968468 287004191 761500057 277780892 654614452 627104963 300303897 577097887 503444670 282153346 558720440 217742428 153599815 803178212 476363109 580340020 823006339 343294847 326814200 259226082 347473333 410404820 326184402 799359432 706461115 280710782 934538776 481628750 105186286 229025009 575675284 826238705 855110271 837464633 217849759 721586708 867383167 674918790 645515959 567225740 924770638 714111665 819297601 614704950 650031141 809711112 185938460 261572565 512209301 253790483 786578911 643737868 675248856 799276169 387700404 463442001 479581675 541793671 491930334 340752643 172520589 464563145 696732607 509992899 919289063 364905488 198160865 153805316 936296954 195307118 582679078 821161785 339582767 700627918 748567819 391357167 170526079 558847725 741835339 960586371 747763064 206397161 330582581 810149603 212595364 559880834 501757932 314977691 243928875 357201643 501614706 906406238 609722924 382584721 440248192 261421599 716022043 826041453 227289870 549714289 491376814 871394892 402705269 480098140 106105851 915406042 776780400 673666041 700068981 736081136 994352680 734172633 220392220 104363265 376210109 833286614 644160782 915313914 752810885 550331120 207645642 803889545 533423121 270249593 129966904 857209263 288311823 491455940 575768394 856040558 499475392 893351188 575254316 186062993 987267254 687854617 668817429 851640108 699022295 130414678 370607910 306208862 434433846 101161496 181623222 401459824 881154655 770442168 641689815 425452883 714462704 986454989 534754509 125330382 532051640 650205653 292283264 659632260 496447095 148886139 148871586 414082444 689036166 280256438 718000984 150152970 151940766 794819493 482399018 545757494 785379530 576090251 571429590 642158942 776212074 912885724 811794620 547651009 643309276 361128644 307594182 138985616 546151917 403652789 485871154 402593897 998923227 474604156 498778189 721638261 420432962 193664470 547343170 716348581 210390573 273772165 515662887 962743915 974373706 834600935 894896453 966013430 584594275 499259377 439905292 370413211 877636910 923536605 659270615 429158074 603565475 201690639 301244059 722705448 843592620 672015361 701476969 427201531 286689918 455864148 794481218 119746598 364611064 109940692 260854306 344350722 740721417 208610786 938839090 381996537 864969664 902831661 234064473 585458188 702029174 809270517 445177704 993221295 628878093 403266980 984390825 108271419 746054237 167941492 749964378 750292692 540842121 317068950 603850815 998194268 134697450 557538910 990176014 676331126 283471670 486775422 729164707 348451110 461067168 559973783 467024928 388085070 759379217 687323423 611860454 779117148 505702099 442120844 582360141 180520814 405902766 369765384 643251977 535496468 842031963 830486954 308653865 119266088 806484699 330664752 733046369 849621164 204475338 345212609 862974497 661241750 776879398 999355288 909643814 773666745 581641766 774185202 507982115 759899786 632997948 559592115 382870930 509678426 699943999 716120985 212408939 449512030 678982756 336660088 743723943 474671870 348220157 445962898 528940287 602534510 740317138 230491189 284124901 211552501 762873555 864713712 762148128 510300492 437402429 863340201 714820171 717823142 253455853 998651816 414705696 960487409 441129790 859368478 913127480 740973629 665559555 116007039 655596424 575605818 143862753 607863426 635367211 579858990 216986924 475490340 978465759 927364935 871810676 371689689 119448971 276350092 278493508 423279945 121668819 447502742 692035171 628521615 514405336 529063714 256129413 780399016 719166044 427649202 186189819 201570730 247872427 175993420 166435794 700556428 358448211 459555206 916649377 801915368 997646020 304536252 406231965 503354890 151129380 851748290 310676435 819186900 823014190 520898655 836922326 305755192 790477532 531808215 114647902 592459233 563880903 398883091 707512160 683211042 901127431 307053449 805162834 740235548 667554795 528904039 666817395 125481679 252014649 976010002 918859240 618886106 950802390 333875864 882634018 564424113 906575442 248749538 964731974 151523238 410742058 800417350 674770477 804978468 249331656 242910687 610725629 670078785 986840468 108860518 255326326 665587144 630054084 628937967 680997450 419781501 893202653 906079065 577073901 487854632 910644057 748058714 987855035 971653696 245172325 680464050 161050492 177198880 590052586 168601122 653236905 444076252 181779873 642773098 527856833 143362927 666586554 488870349 945364745 936401929 677964212 185332868 752383818 386713329 936306436 324921900 604075421 481103057 790091129 929268740 126783719 424186076 888122484 946459673 666477426 937636458 569027991 400653919 432856396 968476215 979312406 300921362 276710552 119009266 593115716 777171671 507131967 479323857 555753507 838003642 943836244 230269915 279879276 759324803 425720479 128510343 486696754 295745889 396425665 232238623 515377280 563550132 850036771 302145185 388890045 693752464 410826094 447153921 225827641 689836813 596104280 868793994 650211871 100753210 161666379 760592360 490298629 695143414 413114157 493179826 412729806 878466717 620784944 181526474 204785276 130461479 714960271 639688388 135581988 627357631 373919810 793623153 569440165 202889813 203884918 463584137 833273875 995586654 232219576 659497054 681216400 986451564 852464350 840225144 934403588 473291177 122642418 876141649 306114078 309081184 979238754 779585619 910487026 983472878 944361181 429911670 553954021 532380318 778679351 783308048 272501338 709428023 669383167 832701501 526039907 323285000 721447521 251558566 546457606 687472579 917696750 367213043 162407876 909518359 464127347 428806159 249359857 452624847 940684766 362393577 338599366 473690637 194879693 766805619 816996006 616242474 531670967 950243925 855655726 155933138 112988813 723097523 857345249 935512873 839358412 361885798 215854867 452823838 752870381 523882165 221059295 763831887 164665773 232640097 527970808 171510859 244132562 503122948 646723749 983711292 437022815 123428019 314041236 823571606 132353560 960676384 465854640 605635160 920318074 975620358 321412211 787056703 476128246 378800788 447512746 237116061 537893047 732458250 887662688 851569475 227294154 616955485 549915394 621993797 959941344 543721874 934736230 512059915 855910072 691291824 619824648 591878899 122082734 916939168 810734556 367980315 599832580 486388545 253633139 624411720 154891850 859828618 191710340 834281331 610978111 218253764 452008709 248927069 427332222 624840774 153095689 733948289 968300355 427544901 899827148 245125543 350825150 285466461 886627553 790245957 309844009 953294410 357887754 997750544 256342766 982196617 958034609 549689299 131118863 806083285 215983415 443532936 893810319 639606338 995009740 749125630 536979877 423623618 887694388 502971863 406263429 261426076 306357692 602137020 446540578 599496759 512246955 381108200 616355914 570525211 692605388 363669147 455027587 650809910 310910281 645560538 625335974 575901436 442263134 979661870 687781427 522229299 690858454 279776268 251993512 537863017 120897963 227239006 358752832 249359041 764406653 624495572 749779341 423213390 123236140 515701603 267641284 676423155 800608927 742566093 665931064 448258361 210913808 211763750 697958050 411862283 928323938 875537941 740040978 939583198 311995889 398666558 271438950 150274294 332605174 784160614 250345929 737484790 777995158 423791125 555359186 610561235 977263205 799325812 638248233 418071406 405633067 167668279 792735408 742295982 659977591 696534283 151644171 498882348 464762650 203977140 286083003 746395782 322768057 894862857 639049093 110741396 174629500 732054991 631655742 116639841 880189077 636858218 100692390 436130587 727950618 310046273 436493459 858687343 910333265 280269668 397926226 428395992 472413161 823894119 393316875 683848724 605842678 581963781 725442403 535601363 362890129 728942607 128119398 685309686 691653102 459289440 984648593 453012670 330385380 847546170 179050220 437131814 149254909 570122164 721134594 726272166 432833135 604200340 709338557 349441196 533249252 940105131 697530600 101881639 689662326 763837108 304445647 339656530 161259310 945509143 908026304 511098277 956753999 542078635 658572085 148361788 137917610 858097257 727762036 646355654 514198388 466189877 552480320 237443764 381700383 653859098 548528203 657678006 867893667 112884498 628519885 995591400 911489588 920617430 393158511 763025004 779665739 998315940 317486224 586975317 849145854 724530951 973171648 778578796 989389061 213412644 589451603 809192391 907515551 958107640 783173461 718420761 797568272 500369520 906162703 898993424 689311108 851130652 966183014 136104277 351856697 235636077 909081539 300359343 946328518 733262532 955505456 226881195 578330797 221448588 365132955 413707194 305790200 625522759 287159199 294432240 139778387 679764088 446497850 720588436 203139702 921585818 698672694 358319192 371912558 484170133 607880137 830202055 252558325 834371315 284242427 928794923 648791765 333943467 579194928 918401350 789048558 660531414 832537135 707812806 239958195 190805452 280498971 788938887 922371649 636583604 756243588 346701763 682601975 106563251 755777431 543829658 827190622 114202592 790747109 930993229 998090056 185768789 958297821 132112389 224276953 183529212 532880889 313948598 892269055 525202690 796965117 386442173 177813838 279122077 795358854 133972430 758887531 667004316 157981529 693819761 647199210 800784801 886662794 326723150 591897402 760990912 697006297 411182516 581128125 183401023 903311120 548345889 328535511 761863084 377104483 759198301 843633505 726621795 555026973 474950789 453105021 385511359 232232635 406765657 915351536 177128180 623772738 513888663 106564971 696518523 717832548 692127680 811785953 362346889 384058130 111851767 801157888 486140743 750889006 924601207 634429519 387691499 844124172 587441370 934651432 330526100 962662445 298556333 632393737 810058044 995730672 140977888 526288178 759925940 727571134 936760847 676454686 359834742 559834866 761363439 267838094 584644166 866297714 756463725 348911682 341630451 475078792 646440549 465206753 803252163 266912747 532593486 393672781 943996453 899328921 151219888 377789930 880268465 601034067 115168364 334503004 383385475 549143204 960649578 449500698 777222484 459886299 710396120 223647097 319234700 996965299 800041509 126870743 910083897 243088040 302763362 937348213 207202832 274227897 213675800 535743002 190556048 826510955 292490168 999834303 835988861 183864284 252572229 135918306 511871333 498090579 160607777 550337392 502463627 806796918 331364943 314104672 467941108 904589481 909912653 738647153 855648982 981554101 735226177 417432929 383542233 376835669 689426259 859834314 552408348 109019851 355336950 192193808 987408941 559704526 425556093 375240385 229339355 202123728 950617273 186944511 451754912 454035813 965175890 171977586 196457907 358464990 452097781 662707162 218682178 476993721 491228203 707110232 141860953 791180231 109601584 708366793 799162343 510156402 177340399 613298263 119009278 194890950 875031176 501812572 623914737 172587580 891325889 336788838 690469539 109159966 552252353 563300784 584472276 208334955 105520732 521389654 595073557 875320889 117431692 447818513 990123348 845711396 315673673 764364914 698239550 836666458 326201262 752773436 406318115 234525769 961962669 627297348 158209060 251117054 538548545 717957468 836703706 281821315 529895008 914982413 474257870 261726718 607720228 149264169 780072939 371975761 560718797 463190395 748154780 687912723 487354875 932171924 175999045 934137977 692019545 692975336 921195877 641401313 439431436 664516540 585011933 992833052 757026606 214152694 265561251 352838841 614326454 633954233 186909373 289038170 642867594 140362837 833930119 836045767 203197083 156020403 409497693 452615878 189609827 165713472 225476971 779837016 548820777 275998625 882335755 740838607 369530167 128565128 701322522 860869819 647394433 699606297 409979013 231356320 104114480 412624368 704009246 126776585 616820960 574440650 688767470 714886786 414314120 650998935 196322147 267580741 536677560 830252399 724270127 819417990 768649089 492818203 263887074 448990912 166891950 945134669 456584641 924354346 443935504 500395958 412314722 113128250 533687964 388888543 659035944 360053938 779250392 817466475 903117390 493638882 102403070 651507529 231799798 565748431 134358606 166854391 675700015 871181858 786879113 456368521 876197933 778174829 640525811 805289418 899570249 853197047 406388433 625837339 879299934 279397428 466309780 586415481 657826028 878553433 812433304 645041137 494184509 530905703 193133157 373878243 809651920 968044416 472019514 783207582 196692740 961923535 577496914 664701935 293114572 552143346 355001144 841407439 790829157 654418425 629606430 889077774 715639126 698620159 629151713 408831462 481582122 176291076 938251578 462698748 438634619 604804559 472452258 589404652 184332124 606313543 115205230 952802395 154238144 918406492 286493631 364445128 863486064 592381333 468823306 474622794 252714415 888364715 698749807 972698250 233273614 359582764 900967850 629158385 520897409 422200306 560261247 376207754 658511186 332957775 569986507 589617630 916974779 560729720 138119701 760181312 334067717 142125967 414596143 568261580 657750069 519559570 949404715 382730456 276675455 579699887 494922683 394833143 597532002 497593702 279157271 445027849 219265785 546948645 432026197 273072153 746276318 595140171 112462823 493256363 660977359 754708483 870065697 715062620 255408312 725503371 237601020 336134336 945163936 597502988 380261784 949525397 813891428 373485205 380503205 942949427 380942545 440674165 773927296 969954083 249265591 800282428 539972969 886480791 111631367 151539723 472395821 262898713 510778256 781377294 359695984 249621941 645169041 589131929 303540528 392011076 139647170 478587542 896278588 377737646 734838721 226049764 970890196 879780221 876557546 697616425 711033141 804451220 393191514 557868163 655994160 236860067 304875416 620856746 405159351 179470879 735557163 657235856 881015312 136027576 334213938 525524359 765828859 668513505 296600667 310174629 566114107 162067079 647316349 498907286 684409482 745116266 998083240 958616625 289297576 525656867 389334759 841257194 240846665 449632426 605006381 872320592 873957167 562615153 642993391 701725211 859585177 395443886 582468020 160729624 485557610 201322386 543856622 693111951 415923064 298734982 875294149 713264424 686884135 214017576 520754190 668385500 627650936 494528388 204966894 712185861 119890980 504993610 807741845 956510481 463196493 303548980 358140926 861753730 776378435 832207114 937141939 243429693 378618885 248859917 171416822 402584987 216901000 540618295 263118749 726808062 885679107 907594382 332872666 612587256 826178037 868574797 493135938 414556010 540722995 289371716 831943281 584738015 687239958 584166743 802740170 792566030 871451275 431970268 803161499 578977754 952211155 630675002 653280838 789838501 586690197 564093228 526972165 775761952 109249782 374094568 775190005 312173795 569946763 779823789 565053016 391642563 272814226 403604797 722913726 551705039 362371277 710660582 942155714 307154863 290784737 934208784 995041382 727092995 268762504 624936377 190860792 688258524 106490291 600574953 995976823 986947927 580747712 205354113 689455528 570670287 840741043 526470944 514845299 944774015 943307616 295462464 943909591 789628920 537353413 667164770 148611854 149750906 654150073 983479816 265490879 229921645 631210768 625062556 649655220 419440317 872878526 708807264 804534553 759530612 526082823 254376057 207474951 785928015 656246577 776162661 119195057 509207139 125877585 375325886 440945686 371495733 667628886 781104773 513759740 814869105 855495650 378294274 885283305 647190086 268712705 313827969 328207871 174680647 329332536 318552372 349732635 774980127 481996953 337507738 185898079 824546515 217394966 907865686 847195808 774382885 693376267 998494659 995494763 611144133 540210860 239379998 844170200 482096076 506902692 889640025 410607822 135025888 200736237 989276568 933184915 169577767 210611150 732170162 537198831 915074991 364434887 345162298 108212575 520816637 507818718 220500479 856848622 184608418 276428892 201884547 233446229 613522388 210589482 274271878 432156272 317373343 556965201 467148013 250161916 698192735 258860357 941507040 870473661 378084012 524615750 503528816 692086532 833511561 966979754 428280447 378596005 363980079 314867069 199662372 439287428 765823073 994581579 844676165 234213398 164816055 655860479 508190787 276042731 162012037 209742538 129206952 618710549 256266961 712808148 377550137 641532192 665161323 660472491 481925468 406197244 603637690 855757715 620764448 769120465 332161282 483083582 856811190 664902059 265238523 439821699 248631499 184044858 213580378 829605645 975162096 130555436 670268821 744058373 538751945 346317132 122107022 192017613 766982762 256419885 565299242 920037378 861284487 840526487 319093643 842448641 883368592 996739420 487571903 567283033 206036169 428768490 118395601 861603320 139660980 305579593 681617824 592764410 551973445 861353532 880151623 740993502 844261555 144861107 836760820 644981684 407140397 605810337 106141484 454592786 192939047 380958175 318347070 525040125 768833154 327897254 460842398 973895981 845057157 176806518 824748715 327000468 263237849 611602445 571660886 814123150 779231749 623635799 644282772 832306008 432833092 624526927 523321393 117891749 491421033 762619739 849475831 479231234 700496011 608098230 665186725 124838383 381725901 852292800 530634384 944441100 236172458 758520538 320601771 583868196 614836783 363004032 184218547 920252925 663813800 596614847 264807161 174787539 959970961 965747409 828032693 487960055 895282277 832411946 432075304 510469315 666918315 455750840 552118638 369805687 621993314 236824643 499731795 221685999 151489021 359889096 573966471 801152876 503424162 932596795 702958446 777307817 192501946 776312519 670819101 946228040 371036638 116129332 351923523 495980438 794302145 128883337 211565499 150812127 902722077 132319348 608544166 452556678 472179107 669963270 848987336 684617033 778351161 518695732 324019555 488999121 523735975 763368221 571259580 469763505 956489563 653906844 832067583 462076701 662564523 729558996 290102643 281891855 433038720 678972676 171218775 155746792 642718544 975112947 184113740 154070760 973913285 431938081 133799846 725946333 685973641 707206654 569536521 502465270 471424439 666994545 932535951 217506196 464149223 902018090 586961067 563362888 874694415 256444548 962577952 426116600 630528552 519669160 397115002 661621896 927669726 677221166 788288704 261258968 639510744 817518119 834048180 813714386 473345471 322976271 645215626 243873407 352405361 290522035 349493037 608258670 305118330 667411004 708914217 185858997 472343863 626112061 206031995 656521356 940325406 932404453 844212499 556692419 689308344 410034019 102033410 652785644 917921446 900886601 688482403 219008456 714861178 502050750 411699362 901631885 753010731 430567042 554589995 744409310 384599012 831045765 881523592 949748764 846057532 293638418 771090766 151543712 967248803 568813229 118608337 974394234 980039809 167776813 243108303 618378504 706378712 806937749 348415519 486149599 564588267 742284983 745781979 230108237 446937855 619434102 217512300 559626087 470690804 569483442 255254367 838264497 248482344 993209549 215278787 170257761 164526927 174275184 266313820 679972530 939634683 753908961 481130925 100153405 305423937 262548011 680884203 723454713 201361570 345754468 689744060 236463034 920850565 727444656 136125447 311736789 309501807 659855891 269972809 494165053 470512596 236183609 588766730 669231353 180369766 902454903 756109630 574752723 149397528 311076322 235604408 907099839 599511581 311430166 215755388 254475354 926861575 885700184 226887556 100176691 160340554 708463505 626211627 323075060 768995661 590206686 664023910 121810978 132963174 241968620 401926253 240784721 757420817 847173062 744985790 270151011 808727529 246864722 178352949 754885240 533619623 996254329 952202645 964961001 531788282 290867442 188481585 251021620 328218319 733018283 544195945 393018794 677769768 815327763 199494814 389315830 577394571 654408980 176233849 450960050 775250829 461724239 488868951 633327248 480011694 767104550 626010111 707055556 440834890 435653713 256998683 612703596 314153995 552064099 262821411 839704736 456811880 296948612 411318055 289822406 908251240 404498735 356727821 351147246 693296923 652402344 111686357 786812918 953047326 502227726 307778915 121308743 575879531 947740573 408136601 682239220 577563875 468096900 516881735 767708774 546466335 682570483 382455195 666387343 408863880 430251142 661670991 451765460 999600653 614444807 752608557 408550055 779631042 344403344 180872314 206531391 909611609 884590944 262331791 591403530 149812020 915174625 723163439 447429303 560147158 328786914 616042876 312788019 576767709 848495689 739387841 163485836 562782214 570623241 728692700 319702728 130702914 384210439 156948356 904556481 187613472 338189068 937195666 418542011 854265695 160132184 231381652 846492997 189732996 513001315 379006399 634646626 704649453 123510049 136404955 646669910 749387379 618144154 532957626 720152714 343439460 122837229 754584631 391547953 970323225 597076956 497478604 572321085 193454281 716106717 249545109 368195148 891687792 886192993 267261624 336669689 387966376 373867441 312667240 765927720 584197289 177487362 682591898 860445690 638441778 966644882 690231196 293970918 914812360 349369592 184867111 218853534 631578522 381696640 207636646 926684065 596698496 814540035 569421958 889723159 716940637 204465164 508776466 814954658 387332905 684720355 619737425 587612382 273935154 737992990 693670103 319274694 716279160 558617375 802405861 985654038 871756911 661105118 247817712 444259557 617612294 952493009 392282354 216072239 338911786 267656773 629614419 676873400 135596258 500398788 553690389 274358886 813358650 594307890 286767046 711951545 807734204 674092852 547040254 529213517 209562620 464229719 403086603 291289434 819316682 789133838 181013841 401642566 334153212 380715132 208416392 548384904 229049048 460688287 141269390 302168990 731989871 830572462 861377218 331312688 112488448 174220468 326611459 291737248 752155206 382105287 208174917 931783355 987570626 697970714 989553271 131447751 418532434 772804170 777074493 705675268 514899201 149309577 114494906 576413916 926440822 773409479 623153560 953103557 635676129 754371879 701450811 550690784 521036592 503090560 109627442 240416028 659826897 650986544 207378866 278815860 833264670 867929012 892265119 126565196 455177514 866519088 104281108 787028506 172728841 879321336 930418157 752840057 599039457 435768213 641806229 368890659 133915990 777094003 119521351 849588545 273804221 399972037 212483537 763621379 571149635 894695964 988269175 315793201 361890867 177800844 467183775 462303598 246503481 765217494 536874765 723119884 115522675 553475880 588220800 581135367 338302202 528009453 189585421 427521323 531629433 931704189 749370774 472593184 757600435 209670081 716826414 384206655 628862721 753316712 683508918 232231130 345374376 863401492 456986757 201287191 160528899 839450772 355697009 566700787 312233494 909912727 941212804 586921646 798177922 615126827 939114888 688403395 714298659 848047151 676613251 922893397 571459661 329106802 744141206 484883417 808824733 744983467 116178554 690826149 976100543 452382183 256745153 711320605 227449869 558918443 998281207 559056933 432957115 194389213 323397143 803508643 568297792 651574841 392202798 975400573 999584565 679586105 661822865 982984252 925599427 385605679 794869322 353820650 579570643 587013455 457838167 470047301 863774489 526909006 453546081 611210609 853581547 550428310 359265332 554180645 447506356 474664534 737021018 544444980 817703953 862819946 456538719 907985816 656427295 439733039 648500918 909296725 200002983 481695263 986058101 999857657 331703613 336115582 190151856 318390714 954299585 877794164 490544178 929741083 504570670 888692503 975372562 149458345 167207499 747528934 129736877 752710082 321910220 434327467 486932925 301399434 765620914 201838148 477071316 425980146 953367896 947097776 838805501 120106143 691882554 571708429 965725717 168952995 968891533 592232779 642586978 523545392 271107964 605769880 575783305 476488606 354788001 142221286 817998268 326898973 554850637 364040856 977233138 346763367 739703412 439189572 703425447 916385058 703057112 250876452 388776249 475122517 821609206 776069961 697127343 754008891 687472025 287321559 787419827 315996210 878788956 725329258 693225812 241132275 129173587 766793255 857065829 408434069 310918772 948142067 730195326 730674381 613408817 307013806 502114402 583296061 678864245 875271095 773472664 863029224 456503915 951413602 737650201 547205629 195943549 778544452 371890912 671266174 337850270 953494792 858493432 910526970 307137403 480754386 561931118 160700051 853710996 602068498 926224980 583942396 582098219 726088054 701813184 560947572 770725315 701396896 493998098 398171224 523015131 926905775 447580692 970404916 554129804 854437025 722463559 583650256 664041564 615401367 811603786 491989440 325089137 270405543 383358561 870675213 157073051 831784375 996482899 904839560 359563009 898819531 534841169 603008711 259174978 102665126 249460785 780209871 581621991 456421151 965459738 434217518 318671284 306392659 338157495 871506836 580693327 657627305 287241663 288775161 614650880 455075676 192187340 944007855 531683337 446920432 546174058 232511705 412056993 907834359 661371851 523066491 911258619 551897068 368633408 943830607 295523862 167045396 671939595 194992492 354452653 167812280 668931389 319205449 126550670 234997738 427795706 583977501 130230772 214300649 455085322 135908495 397968826 169103198 677832046 394265509 129160496 881614309 952266153 862135484 919699796 698807010 282598503 664146262 577741664 397719516 322075184 502753395 126515452 154631224 916898006 839299641 835590908 167451055 716130225 483456570 415576203 354753121 948337331 218249622 764799274 787692338 959057002 593378157 152984046 932170096 497929007 398268283 874298603 863291411 818127160 570390853 570877281 550730680 248909761 912992898 779608795 515891808 242894408 574656852 292968239 875861224 672319048 716784641 265730880 792258480 801092773 902940167 932038333 585874517 656959474 400534723 546684243 366932752 950388905 731448917 266646644 750654263 245155070 205114957 343856156 609741869 501622936 519949552 899102104 998026072 546183232 430043134 507783460 102205415 817203594 329708818 158240526 706907836 563819943 840368560 195020210 486560943 315019638 714227436 736236597 252455973 498938348 851495498 392836003 387859105 957287215 389023339 769012691 310723720 308213056 149583426 575357767 304317554 414921552 841929110 225513638 201406902 700449964 617625328 577365970 374186829 709316499 683659096 510825499 919209571 943762132 220159611 766525168 683795322 822391367 929248652 949133690 377117180 831407069 548769869 639274327 296386187 353227916 387889804 578141979 527834562 432687052 123035911 682042870 458372224 615819496 573996988 276102198 767703479 653742997 101972903 123045304 301458214 960451908 679276361 747317240 911255975 472726461 950743838 594510670 159273277 586227982 602575277 697959364 219518135 983841467 431255780 638541253 841400037 149088634 489008616 427716970 600588287 379395078 907767705 411503961 253973143 295157393 851376506 643698407 308343084 606393871 809631252 640506068 910837001 856889790 500833364 490453321 845530261 320966827 349503657 175069791 411437467 759751864 922914952 863590737 990311557 672478704 159257570 317870356 214445045 938182269 980770756 672881434 566088188 437949153 675830435 397865128 473767298 183693232 246951829 511055851 903741696 267690202 214646483 629988687 175708631 862701483 490745380 866698710 874435846 965809215 801646029 555064594 648374906 138390223 787005702 344008828 648669649 934813816 433142656 849574664 684880147 144574358 904262004 630203011 112709281 750605235 300495459 731588773 484503067 847205821 430076792 140758515 574127984 440013246 725387144 999613399 121852389 369731243 324198001 330146794 828014961 635744688 934575688 868744911 376860400 313077672 339958108 717602725 838268709 738259380 700406305 608013368 568659106 470871232 281057142 847833994 316426931 488593472 896164531 114031817 805955551 745695944 305854162 907543127 387849002 345435003 255793440 793116085 496234422 893518079 274255934 500468365 159279788 701593169 118355161 160945903 564809430 483476925 551804554 641827645 344858993 587477672 788977553 432192516 711158771 343406020 743965672 302934029 738139253 410094038 495707286 478028415 332431717 177713845 664704771 988278643 646843419 569566677 844772900 435811616 266697785 569397400 808899834 476397821 572641633 818695065 501296236 689580946 922534364 570570805 758667110 111126985 185851880 988472184 855094030 937841609 655133641 396458325 762448327 834124767 978547180 850562444 697405481 404839507 720346669 745418817 379384258 570604960 272061851 851779124 452962533 280082835 773279663 921258458 856162524 881092540 983137628 391708945 737584366 257801543 232722892 166735927 496290593 299781712 335216315 825274635 730503443 879986857 739091130 429883339 934204193 216880362 696433424 368639104 945322334 492407594 805422310 166332742 531666848 589032501 871563788 272766299 148851758 908427207 755819472 994498975 532609266 192995404 961160592 587709989 108875082 490500940 547895432 798312394 317903650 290739213 289481810 536479596 948206719 151032724 588131492 311882950 439680409 857998652 305006777 208556591 185209103 826563025 895323756 221300716 918701280 663849233 630144897 480443565 178801637 426518374 488975395 458110186 933188641 233833530 395615373 317288337 749640212 634653769 250651880 294705241 251435452 368861833 846514792 242707478 485075672 791483571 697951190 746350885 449959969 340346507 450268800 860044258 394098468 976443163 178317113 793032143 278868859 920121286 791429014 738828854 834516851 945772570 425756340 514369287 314069030 618508558 652544282 798046694 573769556 366087971 984079781 964472871 653054633 895875837 878832503 509144092 656950998 267767430 186524215 716731206 997894073 161522325 863166803 467232426 461724039 263697824 530654609 265214167 942330703 942146978 303680971 254190878 330475335 318295860 395308656 226913736 411106361 410898273 787884282 699643990 118523421 620469593 784459851 895827308 674002512 131161166 381833693 186998702 624030135 422969418 399062019 413451179 594153985 119311944 466255440 150573539 941546621 849843872 164390977 305620925 337957506 488527799 995663318 158532528 648138072 936028586 825114704 120296234 935500524 319113341 172066018 580505417 507987282 901554603 246975169 810313606 414580922 299290013 947838760 651983110 609648898 553452955 220159397 165713516 225904621 498400029 507620211 491685871 692538805 103092978 656800782 510593408 480630280 137382742 213586286 793099719 647459994 985895496 702026082 799617626 223285092 402451742 476305423 136418912 301231288 227720702 735109896 441877222 432072830 126363593 376713786 403130345 890122323 932428776 728355273 853104874 296440555 612432967 300112986 562685063 826004240 517105026 671506732 275705607 479749513 792080105 854325162 220858478 100630089 271458707 264515858 339567559 153015936 627496894 860072416 194982664 438388610 570864297 861528639 722041719 298560310 980009495 346080536 393962860 734482860 376959626 552469892 209846865 626990949 935298396 476608907 362180656 107028501 991434095 479732947 852687489 582344586 876052670 386446404 566288817 988134781 116493569 233166141 370308342 864715289 607269198 323256622 161823912 289541182 302106573 737010610 259702376 805015017 435565299 410672521 423900824 728070279 772255509 199799506 742163512 416935296 226089129 552826060 925203021 579964968 784308268 314007209 748009194 558320760 855628485 526064357 946413256 520054931 907920149 144007701 953418318 768598007 628607807 656029422 415495351 130268067 853575824 371809235 614659083 281886349 675786831 120217046 659714296 323438354 345667313 928754256 993473138 656023164 957350821 663654101 514631743 140891989 669491469 530501624 306868910 860246104 242156946 978823941 420306707 106139950 665729526 291351160 573911492 105901327 498732560 156883776 313360194 142482304 191277921 810690734 541033302 586514402 608938259 849813266 586697289 698070652 783616294 354544328 979132136 711332873 915985413 685263370 936182701 832354139 752631744 259980353 200985434 172543793 789703468 179702668 972452948 466689987 766887510 880154373 558820269 215725442 772975154 716622174 935335773 741132082 779533668 992031211 364631100 229953398 313866778 115059707 337430838 974364736 643948010 759047655 345867925 758142176 190788241 665198247 205022303 771350721 914504873 551212002 665290805 608508854 740890550 309004077 156019231 609564101 810954461 287881390 186314055 333093060 930811098 419020132 658756619 297922939 361259656 661145012 801545979 747285666 413524571 385056004 695285006 314855109 708539658 337583465 520795121 483886422 302444671 564267698 428557463 295229833 346390424 929605082 781416389 145505401 578571834 668591260 449524691 253882389 614995311 124934409 900352351 118183340 753191737 818856226 350166954 794707014 601449067 939474667 120451209 458194130 680086589 564956495 260788594 691421438 834812617 681238757 198012877 994269956 355389345 821939657 178531438 307430035 438304965 163927209 980359119 939459192 363087658 506465810 436868438 884525639 651281326 493480869 937279160 488894186 433877226 971768263 562315470 613555668 796922543 130132013 136765349 969850223 817058033 916659682 879568461 574752553 897825469 955838953 360556161 912164140 820130756 672619133 369884163 324998416 183311517 966404803 273163308 306174964 372671136 192175633 756687063 493313266 443303193 520721016 376530775 893890649 747429371 802944125 204991247 672672925 255486838 124317956 550884107 628147197 270151081 928641387 597451251 407384822 665093354 652077264 450969753 144936987 122340309 438583814 168902776 670829209 699124993 547376007 344724038 597845516 211333183 511125583 831983593 302480987 996161880 480108352 387710420 547822254 678774078 518327013 573417348 683894163 616477355 929748946 791193041 233407968 520660340 620720365 354276826 789336002 993691389 490474620 165440943 177592242 685220001 838474962 512415677 485504003 696366963 218566365 735244948 960308570 572431287 603653240 403184301 290311742 869696371 873464385 337204211 710229838 799779714 443558928 867557095 405698528 109059708 430956626 639955814 682279240 950219472 531744097 398765757 860383301 855473168 931973597 539122271 359027283 783335086 588397063 137276448 974585374 562941284 525986896 824702430 210758402 457068848 301879409 363626106 582138925 871644720 173532473 861145581 234757928 252976787 268037191 891791302 675472026 453744504 931986719 374326045 687745828 306635416 681715054 147353691 602796213 671780826 435603113 292492659 999478682 188113102 963534956 433207486 565402084 938524133 108641618 900407867 760499987 303161217 559921043 508437736 813107618 921532088 651835844 782922381 879360905 221202251 691268316 121519791 901678534 176497589 385776187 792208133 696587472 801218952 258650763 661928540 763150011 914979895 831465716 282276916 894386754 985998690 384460135 343667058 195053269 671021573 453934144 955367387 685250229 225168432 152758260 659612308 900249552 746109988 753329053 925299907 957516228 628041322 814219759 917210515 456210625 967615479 532922476 681286654 260545970 912225570 376126251 178019692 425588565 386230177 105943503 222194441 337288643 744432850 680748723 374124786 715663993 581343572 121074188 558598614 122002328 917171988 989348293 652118307 397833946 296325932 365442885 550337030 202687330 193853551 578640236 491727298 804920897 931890290 260153856 787427050 679394433 953092843 523281141 801463480 478205981 933698126 635526810 201681619 813137217 383987148 664467842 623851194 952497957 991998375 961604600 124020413 355151386 879787636 318902892 297654446 116737701 373030985 188806171 222384694 290443661 203640718 233696815 833341319 530241100 163032183 986393904 937584924 672830643 451067156 369657317 897156451 458391356 732982739 304594063 133804919 233980012 347374837 125569230 546997452 467748823 596871791 575758632 861741866 542828770 606242669 821493763 834007158 487583461 504790803 399678596 852209031 220399385 588685333 494977182 842413706 171329992 519724086 210340695 805928535 213131494 687201053 574118628 357381307 206866807 610432705 839966700 341032522 243967568 603782160 467015306 571188158 403205406 843701471 573697549 116406360 831744082 861616662 728325029 372881593 395557328 791445837 905601815 332448623 792966987 343642545 728225705 212144496 552174072 689629302 296181887 182491365 290811090 298564114 757491452 960713334 422271925 406473325 511312707 828338398 283327258 168655451 937779420 421748100 357938558 806987542 200845912 438960811 152874381 287847030 108409021 599658274 842820702 469479269 268296823 367465226 897853208 547714089 756017762 680802254 349276657 922430053 285119226 170217099 881777904 240748821 221998706 289193520 554360402 228016843 649777689 750744450 984032448 387452717 200922694 981005602 399944377 887843201 356866662 175775723 289010918 879139623 229549308 465415397 361196300 320697649 941839274 908352140 549026457 365439508 922468041 309718508 945648398 305003577 176400320 812624287 651774648 234649583 485118643 832556803 391158415 239707429 730535764 803900411 169077341 247742997 787074515 329995095 893908284 366048281 230335596 414901467 909230132 829236797 245842209 541319045 385094310 117495439 521546104 231255278 982075603 807028702 495321049 345233388 474535365 528309221 707122372 278408223 492890291 292537082 378062298 745362079 619210499 951533031 259699848 186521216 327943247 145482137 838548372 843338829 947672917 958812452 706448472 819280164 997658609 195936869 971380264 836257934 186607439 152392711 734478795 478993645 951947575 147005790 235243230 577285463 360589633 930267940 240574844 698345307 669087324 689651439 201763975 207029137 237104021 671011255 100587547 499175578 898120273 781188305 515150301 191890324 209357064 616920607 350919503 468418142 946856689 258078214 919704853 868609938 231060744 698469876 854204108 543210556 224170380 377131272 628558616 230450562 111269432 558442406 314644393 650820130 406593668 580560543 173407586 545219617 173075701 263636820 731260907 244706847 823097780 328972269 568840376 503867025 970108580 836677155 445606526 756296810 100578482 451763815 640756182 769604435 471396119 381921572 817286606 616508421 276797685 345248784 784082171 771755634 587102913 927288410 501540664 489291163 181692468 900223241 841329742 409868990 594229617 589143590 265310710 234709315 324923731 969942735 891104862 282564450 161949535 189800475 421256686 985373041 315335209 497077050 700560140 693072311 204448362 243217624 796962001 572599112 302899814 870977445 141794966 280761005 577164447 519894073 582091003 645293660 472332228 412921597 695491407 172507047 119936734 559296993 853587533 318665428 362267201 457306979 803065242 619117976 455845840 855847442 872175036 488550525 869827611 853334016 554232963 211021081 835959137 493832577 763820982 399133645 394278850 947705635 820076681 351992135 592223745 315483887 921013276 945490520 988555952 870307900 713779801 268891068 275621060 974882296 637183147 403242026 773086245 280421329 865243722 947347310 142552905 911774144 608374831 515769769 581142849 577996416 229974572 917149628 141436845 149865422 354000964 675098026 658708359 384694069 365844986 175436690 973971222 784501209 880369179 228570758 761341099 438582065 102748365 798353741 289858488 112967042 141751185 247301661 953270138 384148527 651847898 373617248 968291899 433437933 241152941 971903293 605324064 989988452 194286015 752369659 523383379 366260611 308636019 159828450 787724643 559047270 839017869 971173401 807472220 849861354 987426665 687912810 743558701 703457041 346573686 653616396 612485101 994534471 108079518 974963569 783006560 550384019 874808665 849911632 160862369 559168874 484087327 800591109 963605258 240675973 673569445 641970021 406379370 896417060 133086266 572784837 217680941 234931277 344800375 376481233 518048765 628154192 649315813 848149270 456927634 495058023 277265482 767055327 222587152 841100804 804164065 483434919 993357565 128204972 370884815 379256788 434772842 825675021 764601729 101278860 410783746 316718815 261984912 263777515 598517923 175256341 295300411 506527015 510358617 429917022 351097694 492811860 927548271 357946484 396077114 140027296 825170837 390510167 817487755 180427290 572598645 499709315 372880148 987093772 415234778 536353118 903990720 379456302 945271501 572047094 716000788 297883112 511155388 814503259 217061080 514414386 110450856 919919088 593209198 370909892 713195633 395039432 944862388 884588270 745743693 573558405 371256862 157568753 945030053 282652292 999893300 520229009 433421630 930192769 419619002 615604302 533055937 589176794 582524617 490892145 438743733 776766824 587931667 227534586 335503899 704688922 676891202 141781292 334774569 393805417 354612470 935053336 470542885 676457494 648681743 296285749 572345505 496512899 369573325 531029252 430590544 922160026 897601253 672804789 111082046 609587752 673532719 295983239 627961148 839724852 990035811 758488921 609120494 612864435 922495326 628648068 512598773 845323506 841371938 838856021 202206601 554189725 212736684 167707194 836597446 282371458 194600813 273362186 387298784 252749857 894938209 384407697 389777430 766854899 564488161 267493239 479783755 340353676 241466325 171294820 126087317 525093300 808688729 786333900 349855245 203577927 325926367 809085908 708009983 470450157 135142604 966460438 718332143 707775093 587094199 336204988 114200128 614459220 693037710 759934451 745761628 119884154 866724014 472727471 216352458 994833810 619445926 302887707 543930817 681951505 820732376 781891494 395564816 712273734 567782775 580205317 817266385 994886883 463732081 139709525 660480341 793184233 105124678 776906056 409365784 285372978 592413018 934762665 934817961 896011751 874409540 571238339 733899515 780851347 627386347 588869497 173721251 594389182 129411730 219890148 292138087 195017950 620469089 701961529 890584922 945401331 600588610 697464474 128257451 994172256 296317605 906995902 795242931 942314685 383810446 672438843 634837541 111829511 257856394 675744555 288379391 951418372 890244800 691377017 569722154 718460941 396403353 869731952 248247793 296543027 384663625 606316198 345258426 433885089 515125505 672720818 297620505 439275344 676145856 544639060 578293128 390422242 423348992 255436261 504961614 846829392 602726357 682764682 200027005 109798381 419651883 623721073 766503288 762641709 516027543 773599530 941402034 357774114 194996994 608921761 848509206 773929461 575615187 584221441 462721243 779863414 155027973 918380757 305482746 356077122 968165654 708010143 666283833 114547434 365498468 184720714 452955606 628702060 515387943 496329779 336829103 582010736 259715549 919308605 618645374 843221367 886058836 332290305 320931205 473476916 502727507 459084163 785774630 507731996 735636667 436261341 419652886 689570138 178678421 561963733 765814218 454699286 201100761 505729559 440102948 344139163 674304779 632847503 474298257 979253495 880916323 559977822 292227257 899600539 247128210 505916307 910075950 304088066 655590364 365756184 481106443 574897343 104723201 991789945 731751147 140545447 215848790 150754988 739204453 667370854 598184729 763680033 488381201 121343641 491606379 824265340 429159153 210281583 434875005 822154826 330992729 141523683 268064844 889650654 319197126 261489124 167797291 809295198 834211857 677966458 906969532 900444364 290158257 407520108 540964020 467390556 445604220 355656836 908162479 514295960 773879170 371068482 785569731 749186427 301217373 659560926 890303774 367864078 520558788 222036593 658645930 503648318 847196671 305561349 263173407 189450029 416709420 240448028 683408875 436466382 810551091 768090295 325014468 194801157 814840483 333419898 450657327 185942996 661173640 461306106 982942325 237510969 168505344 713814946 693502613 815389143 765221234 902197783 182530539 512372672 433940715 531469722 221010044 780147522 450402835 391621755 128075000 832491446 129595987 559959358 887078830 511455662 458599828 596665716 366682977 487796412 802239361 338911915 149162182 130698828 500375737 816885420 636384131 582872249 887683847 330641518 395864642 906374518 234748681 400333434 220864528 197716875 117420114 180544068 782371806 248712007 742718444 268341606 380985121 536528248 775732690 752622230 746381008 266811373 369817771 415979773 511633399 464699292 123950524 616187697 408419824 675690910 398447425 714822194 269687244 222231841 312510123 552452440 201823835 730103105 841565294 419302817 156796602 899997145 342903574 383245177 323019130 370706243 369210197 278099887 383025178 846806308 983888979 532806150 836113016 176683970 481994070 984404947 650921330 287051263 693565932 352736181 794243008 989587481 154156778 364615368 935284398 373219506 637376538 390407907 571309205 548235902 757717104 586922687 162462910 389043006 810995249 829037326 273141998 421913446 368227075 640920364 231931842 925960534 374790659 821308403 374390354 545589346 630612935 741829816 477472756 901081225 806544374 635864871 918129631 938695074 500790337 373515880 329532782 834268486 609710570 682376459 225155788 790550264 814085091 805438602 342913032 866006173 144410582 801841376 917435639 588589722 479280787 710854396 779602425 572924237 221477984 456789193 815876747 957789097 667797706 649608888 560032046 740935555 758900967 623093142 923399261 725692166 616451414 211535167 751010156 360548851 689968800 912995821 818316372 538907689 600386279 173761765 178798827 546527343 657903415 152845922 463524067 730021019 145696511 297636588 121120921 605137907 224886824 579718472 867298551 926518412 562146822 538452043 789443766 273524770 734372893 787007130 511017490 281740948 770188638 203016781 153249020 276107919 642904756 214382024 264001576 652184055 226367589 646711234 219614804 344449429 228095558 580326540 122879629 866790041 158548030 215003039 170040873 586698266 904475065 926335277 418281737 324338569 276967326 894593959 343737823 699375881 545517917 292265136 768748649 430456577 164114522 143972830 266601208 169208197 988323210 655545101 794448484 813384419 616047984 706851615 368649487 653781792 482808496 495146027 788585726 984420593 134494324 288351934 825379215 664446944 808306507 611491480 790238523 803371124 703438439 951398542 823520135 866556568 875236346 380686756 162100599 931548588 877255821 847912326 455278537 873445820 125997585 953612516 492471116 323174439 311075354 164445837 523897854 728960152 417335039 724534641 786409499 147633768 181424935 727875934 635254321 895770136 169551373 177244701 850482213 837994023 105140623 946811998 391068498 973805730 615115030 907270382 181706928 703325920 943627291 839117140 753489800 802623936 219751866 226015046 356436043 767951745 321253675 976588080 502171300 443548643 957459785 490033446 437394372 112855154 251482415 371146952 463430973 103615545 470450104 354745494 358835638 632255854 287650682 951919735 834816452 750331760 406500434 428314185 899769012 632589269 818213732 292711417 523307139 280341494 801144099 882305617 544255962 976147540 236762756 525024849 430786058 105002450 334266542 347329228 767944837 508444606 754379760 375553663 139062830 779954233 638349294 969814063 873205102 300654930 110873722 779452756 217788327 534982118 989456438 881624934 469766140 193305967 843076977 423254224 762884980 829877030 274028526 603886402 174419991 641729825 431390164 955490811 137547269 956009214 146333071 438208581 121166688 277749116 223242778 155880994 370155792 420217826 361993429 501374143 182947432 717716568 893939264 448776080 843186175 376898669 942535352 797945789 840635072 656098058 163637579 579442513 230954177 755728557 379457338 571882351 577298155 536690529 355445861 930294263 301350007 983016400 409025561 971103379 686733242 160911977 736413562 126769949 391309627 919349976 860019602 684275199 641707810 316247982 441905104 879369066 853223963 446884356 317041863 449721677 100671466 854167786 374301573 926944842 730326295 982721367 889451144 532496398 290412731 155128457 867987826 893642226 243365902 645490770 123627437 827678423 112674466 379811334 401522330 384488416 411307218 101659752 888009548 518125445 471217308 666385584 701329914 865053525 313742273 387282566 206695532 928024367 409185241 314540525 799064309 181786611 484616200 377083365 749392200 829189457 583753466 618326024 762687461 165734785 986883866 981790726 878163487 103841482 141002141 628732212 194389869 457078721 179507134 278091328 316224057 883310817 503846742 694330107 649846778 634101822 376189523 362879232 760938173 309968773 657401502 898000998 520459689 852949546 805123688 957257974 935740207 670313827 792655569 819657933 722186898 209946907 660562979 877484884 528594932 515227872 659034421 444234368 670541123 770680909 603164562 133438029 894392491 618806009 512016640 323886757 122265773 303406206 212635801 349563976 294885450 905369725 998591366 855150347 247022108 671073626 932676518 251787821 741064885 237332204 412469783 293990054 591636465 933956337 595879856 988700234 472102327 872990567 359081477 979900477 406862141 763248779 381249943 844076568 105109370 116860059 534827247 879653318 157884991 543170733 448284074 366204440 785579916 293136286 750858579 150041669 854202466 406996090 863801478 852013332 382537748 889958240 883768320 373379752 332226272 401116731 651615447 186479734 867816071 473083576 371917417 228155081 527108731 343462775 348934299 401989454 237486756 712075362 128425049 532767282 553757510 673719946 813161542 414083402 766495078 942415588 934581243 245330276 787507955 560219130 423589393 524213142 609473202 394955272 514179317 915110034 511822650 221071246 881555031 232735739 882181243 523204880 684203403 219450084 267901226 495583162 377658806 377488836 795184403 727246053 693359015 556144558 722794065 747289774 833166614 411527635 608618249 685740629 664783615 282094744 104997465 240541047 159292260 826624843 206338716 728998699 306608964 663902478 776729213 771263147 440324083 881591415 840710091 825844537 256512046 935121361 933326325 917406351 263434598 894014884 172439814 944207563 995953429 281395084 831959331 252523949 949186328 940279085 206413725 376605628 974205941 207249699 185426656 844934011 975581610 857263244 725531526 600064318 673665572 520661947 952738118 944111747 821618258 689936379 139220974 919222671 459301972 912055839 579582791 287511432 849420865 679170198 577545929 870631555 701423064 404837510 340216321 183921297 148055595 894872451 626808023 935172100 153348313 509175556 819967375 349689515 544069482 925197846 824891528 124301427 867882542 918684580 737470853 768872420 154799553 846209862 801449288 526965360 706866061 510181677 924593689 122244276 307191091 622563336 713564487 572470537 254158631 483573418 166569524 653643053 623183480 591399727 306698376 648007217 887535573 994732152 637030239 949590006 387790826 255731755 699652259 788131729 188732044 203194149 549478390 431747639 864360201 966584449 501078051 227758974 182791704 515932794 823312901 435930502 598092926 322115283 452579686 587671205 433727302 280660608 303571995 855201205 155113287 372319635 929900660 642883086 101168141 386528176 355623760 296273937 884866035 686116465 830468107 594576773 342318010 730058576 874461871 574861632 188650516 388170875 939928563 892206126 769702069 828766805 692507548 201789215 395224984 993854085 860226035 703985482 880901422 298793964 141177172 259341965 353497916 148172930 877739488 686613746 405678069 521645036 269466356 414522036 778595773 549774204 851796798 571000647 179034952 568211636 860116031 408961030 153714680 570960717 111078382 873813401 425492321 202613031 419392110 971058589 697501487 333768336 360979656 529246224 990888848 927756928 194617870 655225594 839283964 677954528 552116242 263307762 417790603 926020930 753427075 545206184 217178209 814275246 192139390 566213397 247402522 485172711 728223991 229865333 305914156 644911082 846406842 881525169 548272429 849489420 904962287 106745205 476066374 230633674 500292785 238533110 357114817 294026216 888722658 897562177 356418761 612031369 871465612 118325330 136950247 750404520 187594509 133757110 307995149 613232319 187789198 237733476 541063515 689380761 393937989 250572163 481933323 921603315 210358173 664852873 482926561 930451909 542083466 248492909 796843968 618626572 397164627 656137784 757141382 455895364 257078489 622877804 456312677 994546737 173243890 641214173 113981479 879618574 326864538 665702880 251470837 335430719 324651172 420973111 323148407 466113223 953436864 900231916 921998289 501792251 224601664 498851946 526290117 949594823 154894946 898660083 178221062 179259686 852296470 953882561 146848421 700374666 765128868 373066205 465454327 602131140 612263199 217775843 216448542 776999663 524283009 599327903 101216521 775373669 267438352 420707734 112808801 648913172 647398098 127958117 965871792 594375826 669958848 963392666 747327367 162852881 540466885 575221725 253133026 747498724 784838184 337669376 813779141 210773486 243839195 935715405 664014452 487770860 555769392 746329220 283043762 464668106 122288840 836889269 886621280 940165572 198836223 598113991 898313987 234928483 366131112 815375687 950148171 300360176 316445766 209208789 137630284 674656620 115991740 462867675 615101082 209069335 504488645 637733935 712785314 183004813 810040417 603237711 837537265 829933650 519006094 713837288 194329448 470622694 709384307 646761454 881160644 200883096 511846192 569649564 201552185 407114985 719185082 554065181 333341440 388813060 629506636 940998566 995164667 382035420 906561329 615605035 591586380 236742809 322629803 651380179 979837347 783828381 884270018 809366230 261779602 690432340 494795332 269154449 656973059 145065319 800586490 237030335 288932738 438617042 443889797 479342455 294957268 960466758 544411876 757384826 232715703 705166778 752760883 544691596 226720076 322425738 189603751 293861339 462486055 203189982 926804783 223895247 814964745 867980939 680470520 840612788 507905338 982955139 658456425 668884993 316751627 354414099 535506923 831517794 100146974 205083106 944016078 175915959 103616648 924568682 244623101 656843043 901324334 306560521 192903411 154348655 375048979 156932742 929955675 345753575 381159364 430463696 702643606 408759759 432120865 300741536 331141379 406890337 683886880 506868762 624174179 423089173 109836157 343748107 146037978 258024963 678862743 752462561 610835931 307209631 364837342 206504263 355144189 656559829 344260655 558875322 340435120 385564328 555442579 455745186 916988363 538432417 318536175 276486610 516128518 489650168 494828157 499022771 249595746 147112449 804820030 318026929 826234136 308290405 300610186 913344685 514520239 784544056 770806047 958712002 500816878 328326233 524018604 661878534 535526463 914191759 643369191 138327337 195273735 939596641 671225147 395292613 705815729 923804225 101519421 593773349 777782234 112730982 943157559 171511370 557767393 829285740 168828206 641716418 233128245 735967207 630199674 770332523 287172158 197364136 467047716 171299591 298414526 275096144 937333662 422178853 334823030 600775470 742573857 944049815 534779549 587545674 258493919 316218491 266486636 729164720 919963277 883820710 398943990 761738727 240264882 389129971 869047193 889858420 965360781 972935581 233894879 902790202 318336364 794337834 531808540 432976470 577694148 889974945 673591353 511006081 719453963 979792872 875890461 820811273 668183243 383762527 210273070 709362760 982585652 988340321 902684432 758222003 752255668 617846320 618727980 817061719 882271233 613909728 571898742 516713744 437523699 541568850 738606280 692064828 969525664 666628913 138549751 614815563 479364330 714712360 939881899 244056523 497383725 383172234 321390904 637980742 428690188 606135176 741050035 961351578 932838836 282518333 652072060 586036701 863334104 393833879 581255971 202107680 973515747 422256352 972361111 694000166 205503381 681742766 685665134 574367494 165670309 619937947 344966274 676578987 805081769 677704719 140251072 772111043 921053864 562561097 507417293 723148381 727289843 656609972 980253908 914451114 419087683 799660401 427500115 106442433 710963079 456545583 514566837 493536331 387211988 934925785 714517434 595916436 489361905 974868797 349226089 479895099 981577436 574916480 511175474 409383242 319292742 220399907 705186781 652557992 550429276 668974317 790090851 797178194 179432388 647371679 152328540 203085822 288833369 332076435 196018560 505375227 836339508 127026131 576028911 970802968 715465091 717028057 712483366 794788269 789821547 746163757 131044799 427019242 334843394 789607824 860910010 851434015 523305249 579751450 775688546 768516904 385884203 789788490 983393278 297863628 359566487 684453847 748737525 139011277 152077537 838226561 242970131 176096875 309528730 661773763 361517828 934832461 648579084 989451513 136849261 191230094 748666615 170462820 650423632 253171526 545651621 179601832 453483251 887133136 731410325 122615565 150191656 570582119 763096741 866109399 103486069 159175665 760855039 849775124 661110375 170678644 488455556 884670912 425389623 860327251 564261260 736124156 503533649 811442734 987467388 356308408 977214281 955549329 508948266 872570092 993421362 999583283 310618450 941894885 222956322 144436580 208518095 894771999 688904850 339575865 848445151 328045007 358870643 572056983 374492553 992567634 575858817 341648470 511129139 518539618 377982979 372430015 813898773 361535774 273345140 663882981 181074459 505190652 962754471 350220393 585900641 487427831 120274686 969712099 172306989 867356921 299327552 118398736 587366486 177452757 801445022 878691033 463471880 656264213 772199135 770980953 344038806 928789606 403393325 120861977 164679906 375356703 921160139 134309668 500979578 417444125 972217463 485742838 365573842 995833633 447642219 468534463 881402417 549952725 997132110 413155825 338439375 833946279 958114329 100727497 770479423 512302471 270202678 235156860 159700144 712686021 784806415 829248530 746637569 858642514 496799890 514934748 351395362 412351468 398036105 427515317 196883922 594913208 678501423 469299286 593204300 561098189 590526940 716362932 635865171 933871717 934497438 567877905 558721551 193564298 339264354 645967897 490813191 764142392 540631670 405478986 668610893 174873909 173837581 874640428 600055036 296529360 512078534 760821366 814790560 381779664 239070772 985875199 612220859 311013960 750029649 200803507 375397505 162783164 902347883 383757924 893094080 175684162 282908970 538639781 913886701 683921094 575780949 111472013 635424856 564482194 483396421 604499851 922302155 954281901 459911327 578855587 683433991 751342003 815928935 924213544 957408055 593704893 272282439 677868769 157811273 789328684 270901073 524898150 987176859 417322030 560317549 253503321 250274923 746448445 807437689 100067624 992869425 996362388 715388815 230194702 108396819 487103917 787793001 767507401 811153737 151228649 584711993 172060276 452917748 645250951 971601378 706477161 303006179 605243632 515805684 888746911 218543742 410761011 225537577 417018827 159886041 150492369 539433813 870337592 721632229 331552809 850415677 760812340 931073197 703659132 651437533 146079690 576260092 207497608 422693802 895611850 168431882 899132786 227892625 110194873 373572809 578445677 142375901 190345617 776752350 690657533 459433160 505281707 625625532 269979858 288107836 313784980 826298391 998675191 226113939 767734294 314405542 749420371 733852368 780888692 426703145 699117993 103856769 745668414 689409988 872586836 370679177 954024229 928779696 136863324 228957840 361981746 502438863 413798521 435627057 739169143 606946774 779822470 753720154 688924301 526231474 963082363 540021605 276815863 457536761 320126766 220236686 870497134 961485592 719213691 783004362 184682500 899990068 480977954 202487198 819852222 453141844 322180854 728517545 534432632 979072740 537150641 223095150 456926916 649644121 772250144 138400667 673907467 847478281 243867858 310831484 992751770 293262121 683573278 912435172 592897718 185297555 109856175 741365930 512578115 446614583 472228874 991185029 470978869 617210943 111302232 941946950 446356681 807602482 666864175 398280846 649073785 783958691 638603160 944030064 994736971 143880018 241533904 483610265 261210642 722187385 788279261 692543001 265646959 485752928 464661473 472723663 389329405 588371433 609694583 801422240 522196790 244809586 413364886 673979471 840618612 986765931 996068406 861509211 606826143 816955907 998557591 207606084 219098559 587488915 452408101 617317550 519309996 681172938 589314473 228630042 741187697 619780882 187761728 486651170 166867679 399342965 650048349 912729767 833363344 902523737 538298336 924003778 267299124 963010366 963539626 593343565 901565828 582849480 642957262 605073446 410395444 586664081 273512508 744525766 803046777 281674309 547429767 980950291 849109049 521004056 966153260 890469314 316590525 202140234 252976307 753088884 785773556 627787170 669551941 744575226 632802418 934080103 451617397 652358895 468118492 208043979 445219711 756387066 497667402 425980305 924720788 722276898 680228819 361892308 607701795 498785492 207344407 636833233 677866860 418983870 941813901 759418883 847363381 930223896 798058345 495406013 324692816 709297399 688969159 954135625 837436562 171433745 401691858 678769231 738395711 982702093 343360763 221890510 354207094 894527672 646671348 488443030 283512577 470728329 944041344 122281493 107486168 820635391 890817389 551119579 618373075 701549630 557268452 307393960 670755161 715692308 117362070 993979802 130111535 784828174 524483838 914623488 591228555 462385931 583424661 396903570 943409818 962049137 168608066 256581734 114246352 513803777 758992940 676020714 842304714 104775912 465305481 265704291 800306067 141567973 602630563 614996598 481953773 501380885 164394996 336782005 465393821 490002790 944730708 975669127 685878842 980403570 247581458 274303252 991902668 115504461 870690202 786101978 772308417 598270840 536776280 690439075 612756614 337973849 334124723 692725934 243344076 197046080 432569970 702965305 931222143 792121670 939129432 316573659 147022012 292361548 566911814 507525799 952115167 690415026 793887041 756842168 460267334 659272172 981225249 261464661 125190651 915610050 260399926 990219464 788861705 427759355 862262059 468945876 266607342 264310779 866305366 998096003 615001073 932693022 865053931 865240881 226557898 455093127 598079775 533998137 567507993 157189485 359471469 453138764 424988048 803750396 239446086 801337420 563748365 505166427 864296564 635956066 803292160 444651841 305312114 456522839 265544207 721175479 163908849 205438336 730031684 876432950 875055559 201394071 400088480 816942464 784589437 563101453 257489419 887647218 997525931 550830156 746412023 813366877 607258294 101683584 299125281 991428962 354524720 986509550 573565525 857050986 157426168 935947949 214609078 561971900 221008167 238861512 553619726 627852763 326891395 135496514 438270574 993863321 893747895 759614908 123159054 895330447 339767069 946656113 426196519 631889987 357571642 729883026 579663026 910071924 723083243 337291803 452610669 535937372 234652737 235024407 299969353 230648817 126092562 849008796 851068860 718892589 708424184 150913497 858959775 661818248 464348356 850308692 986016065 687615012 540853333 332150559 671152318 993444201 296107957 581297091 520866959 824535562 405620110 501056772 280447491 220023313 126401656 533862879 697572104 999614911 258312450 666532990 422336136 603965532 885235036 337912067 776787130 958008816 451864899 517826566 824948458 559715312 818802251 272296282 313694775 987111035 969352472 365177911 640112443 739815947 792406441 211253023 633667865 204824072 416690610 395643126 994351621 921980031 974288007 154988723 705807908 488974040 746106155 406581101 203872979 334885854 736608721 742357207 279927820 563830112 976836283 732595604 757802267 392813670 329650513 869073593 813452461 434928477 763217612 732051943 863130266 615002967 288262756 349328489 835154546 877270158 101282226 212027374 465575971 193808385 651098806 319428403 419018540 309179978 696858411 844518586 558758576 405710043 904058463 770650720 301730851 627570146 176354365 638249417 580104438 385773622 341896334 388084825 164284643 382827097 156932559 799840645 861744477 739978664 533146136 482342964 674766098 634651593 670028293 442305610 856760911 667063763 949048210 839814445 810487622 967153010 102215361 403627212 421105015 628684097 563562976 744443372 121323034 244285735 923832863 863371017 504595096 441099149 799628984 313103702 544156953 662417357 470756453 607701755 278888912 667851991 671387643 134082802 932725712 773562050 939035933 863975854 739162239 167729706 131881654 863690228 947264745 972544999 575812952 145571476 249328359 682372112 172650274 320679575 372025306 631169426 775708359 460469949 982977681 155524480 595465216 773357529 646207489 727309116 579090755 823701658 976790686 309865160 511969496 532756706 408192663 853354918 532147142 850531965 943121798 921952492 937959976 296669269 630091647 164902182 178291063 595160046 791557638 226525673 831086976 948678201 747020707 782049154 298322986 249988609 698360027 465046920 136488367 787206875 964501055 630713737 630572897 729427384 867262445 209637256 194359301 386767642 435107928 922587212 373458399 497380145 144412935 645250557 212911074 100932758 368028125 104925661 302270418 499430118 585044785 763270361 620009749 555328467 528104711 334106549 159658471 640123121 294656189 122531636 319679028 737143751 186171041 130462460 699865243 431062241 405294036 724593802 256021191 324627092 959455044 306679743 380342056 398306955 493754556 507915348 448768719 754344033 493564064 841169631 297017315 107463898 573103273 475182451 394335396 810656793 863811979 857300784 158973325 543288426 481847454 998176351 473793661 624362430 883408932 550684657 828982634 912975840 268568781 770041553 892014781 702924061 981094983 743977553 267511263 935717966 905811614 455242728 859263560 747843049 574851991 943941226 808852393 950806346 238167618 386126030 741673737 456038865 919500080 742420273 215782376 688151942 606094726 785034184 463511627 932866479 882720834 914267936 478355123 180996822 686732990 937351551 987205294 325659604 280251035 652553013 975342380 517570340 693813926 919852220 227447966 810434963 292414171 607676604 511574299 625559839 964951616 622215045 886803949 708548260 808979310 131117587 403800438 225306996 267719986 476592988 580914662 791826806 427823793 333729075 110418035 693871203 962376467 792667477 966245991 399887904 100054252 596811917 502656251 408698875 168649517 236436812 654298968 169354786 670026100 455747608 753103730 543808235 545589777 404371191 730007738 541496451 553836108 781552133 232134611 610213301 100281028 599839433 817059959 723388012 844695348 239744493 268493273 299224200 960389758 857958390 303279775 348915013 248967842 241952966 275329726 625109237 392411712 459940637 570288402 400668410 856805704 206783157 131273532 346257186 357444804 801975067 302698485 535278369 869795919 564299166 833861518 863127113 724230766 272258601 495722171 741081123 290474780 564233950 325599312 187050769 219982304 229453647 381538150 390348964 485710300 843082384 379049500 699806725 811241541 922571296 484335261 870409484 279807057 275268928 414860306 278095504 943911211 471920998 562361396 824961640 241494147 181872370 119401033 624500482 477144786 847341176 787605847 538717327 161152024 959651322 449714270 936945405 420078702 408673324 860126126 865599192 627438750 457311386 748880187 309286609 921694760 453080603 821741938 695694751 619973812 455998735 127161734 989291872 480954814 982421340 981510250 672088700 646068828 602616348 716146843 412256392 768106887 222359019 591759491 480636663 485835357 378138665 485159846 795276325 473861046 236786996 697943326 774910462 677311426 815117645 621799600 854810425 684556498 519504515 372420339 868761957 620065277 723194304 294093086 670444447 299380590 619487362 691474739 486276770 679084389 168961223 797502354 266673692 742062526 292735219 825350692 473979097 106899073 998227387 309700328 840168423 966247132 396174133 137845213 446397728 723808152 748366611 125862562 975754407 945088171 260787476 942346871 266932366 560260446 582759553 501874774 343416418 188601973 703799486 350400659 139659325 519211721 412386858 314724023 268126803 608314586 444372138 731069454 680588570 882415241 773347158 930675262 173049341 867837400 325378279 239903381 223407992 103494353 177497337 964888662 906071640 780968013 553959665 257974067 785987858 770390552 738449601 821445208 810803842 713050278 594433656 699857179 864425590 882868294 394151892 574006172 382796377 825733883 882409024 206061925 775765345 963546859 230609023 563055013 182529358 937092116 771919756 293108001 887811902 868243929 265533073 276227245 654689724 105439028 363237144 498757303 161301922 826023330 745704434 738230295 653505259 383469557 469676887 985164968 251060810 291553245 209466318 780767408 873375443 699057834 573572377 710059964 635732742 493947749 532134254 454190298 978487327 375787170 853270449 719158099 414791666 552210240 856043057 394211278 960448399 810665701 409477301 598811903 409425445 893269511 103330860 779310808 145265347 204248506 114929271 509248953 338852196 940482562 988685082 497330842 371944455 282751899 126463200 783523214 793634968 296772246 651328936 753004894 878459075 389305573 969754244 741901485 125225840 391000092 565934891 729533075 157748484 628619418 133274060 761964045 699195390 245823642 272556107 350502787 120874013 578464385 118168771 159201714 789691885 920557731 977797007 662773202 256551554 890128188 991268020 725123526 660054111 888446980 254792549 685521137 519314318 513000067 411741410 346933711 681564642 693704863 966432519 291233925 612461738 800324968 337625760 114283340 767708147 100431396 874047258 769383345 807709526 155242353 978432946 492710172 275927851 845913524 163678881 225468931 381448258 689796502 159073896 705580568 759503882 694396914 773110956 423226915 299354263 559387342 603848354 550311776 605712001 262423883 564977452 165730426 371755431 212031308 989812134 476394896 434489029 936684909 170156498 250043126 931921089 733220004 933480847 588203136 757198734 719701128 616600901 473354129 974626274 786864884 652617095 417327662 431641496 580570286 796760038 434640182 760994817 426236550 577252442 890250689 114436314 176361835 519955815 810886049 885630316 297785662 202843956 215662490 142656593 426254820 631394900 431805638 595715244 253649963 665897062 715830471 670285594 704652115 863906481 838929415 397523221 334139387 639216332 601444680 903816099 444826823 694193917 862538806 623525009 668899634 993411516 973804974 629465273 589597283 338900255 147857403 722996143 714286569 118689096 745665026 243622124 979051719 163146319 881455522 909150882 855394077 958671674 722113370 551690014 664424267 859305264 978847385 497891803 370308438 809832001 317903607 498416424 442981081 885616907 626301060 829735519 422494388 617104952 849160647 403656923 139240543 486981716 912426964 201795143 417568203 702165260 390723324 693685803 732922741 166005407 354531818 335228535 870026858 521884028 426059628 833998466 636920055 957279167 139657382 113796328 658683833 397481021 621348620 503939323 424005144 578547538 893753367 470191069 114047565 669246366 209677358 890760762 605218739 203063994 979522756 876738027 795590902 199728727 158311667 878648464 352140953 318300196 691697804 899176877 784517399 353664799 523218525 287111338 781014581 997124110 996781878 282667409 433449662 541547343 502625304 853621069 613432604 135355247 675723564 306973598 633525128 549525519 482481052 165353533 392821239 189167746 200179189 922930525 742170972 481039166 520960915 382489705 936883392 123987007 388996611 755673699 583628064 651809071 893064066 756869835 259590069 811105126 248878108 389013466 335371458 453070563 306823248 651937735 651692612 411578921 469970585 493271349 733254912 589570425 641368973 806595387 988654555 758345313 832192529 577489290 195806481 840387721 719315191 200811159 310452463 501031471 568985460 940771762 613422116 991737883 891781891 951229972 459897707 708049202 775043930 604596899 815405759 504292029 282592487 596252692 184447928 302883854 139115072 285532098 836464027 133049398 282681880 562733814 848569892 860199409 739574565 370042208 962454250 782076302 481264809 622611880 169464547 970390830 799461627 993753336 536759683 540865826 306947749 844009917 711094864 485053194 732732264 651593118 656791030 149752146 717185582 750612217 243568325 433779439 464983880 238614934 119702041 210067060 429246704 512351290 949787898 112035807 636726820 479514478 828366380 496233239 568395983 591026838 507126085 838159694 509164832 276105280 491844743 707092575 298363302 512216804 158863662 695529648 352840940 814427188 777554166 900289468 393561289 126305586 430157736 318948019 358737788 164861879 778362194 146359569 917516735 745968187 189241031 642656136 616189117 366907118 539052764 880247263 648626811 582447288 319607702 546945696 945661807 535636112 920556689 504323295 270210402 690570049 151549389 480696154 301671944 881322136 956431561 779439013 386644871 406813508 219488641 244552187 328035933 880779319 806726891 871439695 903415641 428393480 655479740 614548200 630043596 178579986 423008757 120064749 843383222 569914287 890959988 829398388 346480531 556849885 413002259 313403273 598690132 744506013 414806490 499260856 496501500 758413781 341987705 187393376 200273495 135778601 278155115 871826158 813053312 714956808 148041393 930823904 178570839 178049475 229015685 956887136 895154764 565933008 137726917 462300195 886716224 539845708 819269048 463415045 993442001 312620165 399515071 389801355 189006901 487848343 846223018 831370572 377632166 868238228 135143242 997635289 717014473 752745478 361696313 554437748 224274675 497387849 581493388 371391567 580840826 669656236 888254323 278763382 200185943 409923095 871292993 468468564 722500166 977561443 692609936 995024420 745910473 232838012 723402955 269212211 660467622 592288785 317507848 241623914 570504475 153853343 664921337 639926486 218710486 933459163 535956495 582790316 676134350 256497568 999827895 337688209 327924863 844855635 138133013 373090641 256959430 356292395 917490845 618117727 778199220 166911434 443541729 795593396 605916883 701030924 965144594 654283218 307295952 561619873 703617856 606703052 635617355 186565937 614790207 796967708 388725255 303572982 243686542 890493601 874034158 579092956 411075562 336704977 971704788 487077212 716125674 729905919 106647218 621057444 994874247 918016350 231519984 424648077 759940516 666059804 920763951 298950352 240372451 525598830 341468954 523739932 642305780 842332140 373279116 719277262 542223971 602458258 593706991 689361804 396533452 823102967 983661083 530176404 126582398 131526864 212926423 911205661 213470489 196839832 675060796 218426510 822598045 936784629 694215960 221010800 922018661 521680307 104057773 348557080 695729900 129610018 786105277 488307744 945771588 432012153 995659557 708582086 169744166 873433856 503210383 767484601 161323790 360137262 355611840 768704637 401519836 598701796 853163703 878358964 147425499 279973551 906383097 161605440 482129302 223321876 686904203 885382118 838393397 169897114 485508672 705832756 729362666 734186790 786902999 952221661 159107272 248220371 602824601 721994090 228541065 628107635 838608780 168025642 300900385 611259801 462136609 136479763 611324517 434331944 805193607 228993519 169775876 149675545 938140242 345348566 110554276 313519194 520115292 693167780 539291614 243134757 257952049 317137166 506879355 394837399 710587953 669340535 531614490 138505859 123766422 332880547 838624054 205764887 388786524 761863698 768192999 631362154 786085746 879667150 122377176 390486258 215589760 113506637 529750319 740732290 446622927 347590276 238229084 234791487 983105036 191987921 581973305 597246536 644625047 313746004 754778000 336626970 660181721 393192644 380631468 280814848 599848481 993184989 748235970 788156878 186969203 526106578 414104249 173728943 591402575 907041323 195983657 444061970 661479141 470009306 980150652 542637993 348224265 237508867 440999282 325133749 852822499 835475607 651346742 220250816 715542264 405814784 815942021 186270811 116887605 157865108 657091698 678825908 921529167 707504816 599631579 633667985 200049879 577580450 435837019 803919075 948501627 927050868 443606269 412340052 620054075 776960875 901209107 663670618 835521987 758229836 790293634 630342178 211715413 874965255 949091246 186209325 902067635 790911670 801503053 701348267 430599345 328123206 443853569 528166467 918042099 338665248 144808276 618490950 146129897 785559605 349479350 196423042 357089365 170763306 879592496 958977046 528099134 175509973 284209404 460340215 619326845 892250378 985140797 412179316 217262248 881224916 542321251 905427688 585748928 545603710 280939127 934969972 628736823 616354478 736706591 740841175 966578554 784174614 698564116 159248702 511763180 452550998 665119419 392259152 885061161 260750266 770647411 223932407 762394267 314441459 232458680 729006169 807781008 970032460 450733446 121157854 932498069 193604826 508517767 292328772 845463559 361530887 454794564 547515886 785897720 609802688 947007505 105589988 950568947 229093526 763091375 610255637 662086645 698307669 934194827 174297432 128229857 388665923 348228659 832214859 178285146 426297734 386372800 111265051 478674770 488231579 918117022 872608167 328120543 662626768 394706753 742718132 173794306 787391506 260325174 783745659 468747902 631703242 436943227 323207674 773548566 599981662 747385011 290822750 258513388 374362342 116543001 428086694 787528198 179825693 303008478 967901551 784227863 120474089 869814718 434415059 149582593 401989149 657256580 308570963 639005068 659597177 346843559 596275246 788497287 720026634 377168919 477126266 611432020 324702672 691144994 262595422 913509419 439100325 167299424 700793017 551387292 468997406 359049820 801155103 363240116 659993024 456934949 561650513 224650070 538383457 346201768 859860056 985857674 525685451 330359436 784279649 250010091 185546931 529455864 446016055 137609687 683258464 256575269 429320056 951224209 820956404 977940567 992250194 540318767 445162460 925897805 825714843 156965647 521329621 981727771 591001634 141542339 775766774 708846824 224009257 280385464 673616655 238854766 863907730 987068667 833019247 564477457 501436115 586618134 341209542 872880760 910400738 513672254 687952789 500010958 190451913 517834243 959574641 778705855 823496404 762660589 968868608 732913495 938382379 874511070 754996451 748676837 390501075 489085094 575263575 841458976 134407122 198830154 659780571 923159973 650495793 811993736 328667539 130818971 351676910 252270758 392245943 368847215 371512593 728191888 245736916 370913528 221121495 659020263 324622522 995658689 992751248 283437588 477717394 447016368 278119198 311744484 561218798 598631324 911850675 960867092 180134348 537085740 249372398 818437616 888657556 120928930 878110238 824446214 605349006 829317835 929646137 262824063 441500878 818162050 863089665 558061231 499592124 638794365 354917243 526763574 712965159 381515216 817576320 582013671 577054437 573241996 346460181 773597510 440651386 691582916 709189284 765346217 389453981 817998596 189523814 865126004 499944963 603451573 427943388 952295050 943401816 352497819 540030102 244348224 643074881 872313012 489675865 279310701 548085889 500331418 543329640 511843727 426425023 112880439 583149921 935866905 566396801 441312716 850380498 143097306 855046692 246638407 776931574 375069031 812956079 628777275 167192271 907418252 950290016 478445670 763386097 574377864 815519122 549085115 209903986 618735798 287777427 740166840 375493989 107669645 163898072 797859807 772145120 596641089 150994449 608259796 690254109 929996381 493854134 784837319 439064893 153917767 630323553 688293359 564599950 713813658 354442404 300351090 860215561 733444779 539361376 803624243 472573358 853631621 373130115 742129449 258913512 939107900 407482895 907440670 192559189 113013266 271933043 505961812 372233433 586580570 989227271 574662145 247882786 264580114 455369822 280850347 959579773 311077139 870624456 264885225 253126572 966869882 418651522 104431987 105811027 932449693 580884857 748032572 250385026 939453211 372468912 539911816 721282762 749433252 674955615 607345401 308726269 219590041 978737008 162400575 358450074 105673041 384019454 238431277 147594847 175273055 996913676 540279762 371133959 790653614 973450412 850298869 461898047 797275217 112421401 264429635 717109147 230329270 197693018 963353099 626242701 772113769 600491041 378502908 777690403 137410164 915516729 693937000 723967210 437468141 918413032 341091877 378030283 383668262 636728342 583684841 677877121 516427670 404007064 629256763 271657605 233041209 118482643 972135702 402172097 683159918 917531649 163387548 732358544 322290971 751252025 954204778 551170587 277431522 180784060 431845123 479932533 441757643 292973665 755776055 889746744 636873068 150639554 111754180 142081093 659006686 941368106 888627457 287606375 342610188 468237757 685572720 727609962 206888017 840078109 279293308 357434182 342147098 753882632 307226112 384164338 757615941 638335257 849797381 717428320 218858171 335915568 771409966 426236551 807375569 283680367 364941261 406894942 350917720 359667022 165208345 599210929 497371196 464324047 819376870 627155196 418985578 406255074 627922730 368361184 683046975 623501574 292166780 242196276 779212053 550336866 235810053 613114810 618061290 427861072 704077704 888211181 299462640 716229173 417367455 935524851 708559650 138406281 297900386 347737299 237120099 952785289 727661243 205005131 593059525 180548903 946495630 300209178 717205679 881716574 171259482 670256838 746186175 773114667 612967183 639714137 416464488 231958616 803190952 952467264 538677288 592822807 796477054 513452772 129564474 377263193 162565669 573504677 325118165 731959274 722229887 975622692 762757053 151909855 426716023 987070038 475569213 802501168 795801057 499113869 266405257 383572654 798430170 991333430 460952412 459383927 656895120 456955933 790985531 328085092 509631273 785966009 174941669 280121934 790970062 494726761 480247235 609749187 386093510 537822958 751215026 180962806 151988603 841917344 782206349 429655921 364568338 415755692 391565425 518996427 161443606 127975600 945259984 591029422 279737333 794918347 502986093 601818592 169770103 469630414 678474178 302205401 321005482 455413578 356150755 697508465 519346358 909213611 794806377 757741214 723003521 203084440 940841371 306199288 652988825 692712853 954497511 753252557 951819510 238931617 297094014 328075313 419110189 729844375 140392877 286757477 550434215 547115580 164620219 876443199 644931720 317866097 806531840 944484733 688380973 107220730 673887160 446982578 984460701 190149342 184525164 924553889 790317745 807209080 732205644 747632739 326088040 464994436 525337206 301588989 402804432 134058583 354298070 145209704 149517350 489711303 693764655 204755812 651242156 495460687 162633115 179330775 413704600 540824620 309707594 937321157 553523614 619382267 329175644 129587673 337745704 259655131 144706366 455213790 171022952 365428197 116090548 251288941 641553187 219437706 640353609 383238997 200803555 127938317 440729953 278433193 349713234 751975461 230911346 451347815 186818181 736138197 608269557 360064715 606490900 709510251 356400957 488203540 165347332 897251061 746563251 488051692 166914955 957234957 727662309 347879112 321148219 317106436 295821483 852779804 982816969 893838083 684105595 367779597 310370269 763434506 843690162 483044228 191871785 281178814 742460545 142154031 959660308 772156345 191409343 116293936 603323003 275378298 505387044 254934619 263287972 282661228 359258646 408548302 471896348 261436718 149784219 800613222 664174969 541317302 616564377 872347567 864119962 165000749 911556586 129427872 825166569 223528975 435036641 720059062 808982271 798500842 254155218 270006563 698783127 282089001 189270708 893068870 453447144 493106635 728135511 824609017 167863097 755937420 317353816 806731253 813852916 527589579 518412181 425459337 602421029 598981822 537637747 495734145 257688905 623126620 357613723 932616391 371328092 765091930 756660790 491986614 841200388 226946444 593299257 148157090 402109149 166184132 263021995 576194057 346079008 234225057 674198584 874137332 448498835 437230776 183100882 454254830 310421285 918804262 753276366 359258889 397455613 192635390 186247837 112940322 305897205 599576413 110864232 844984890 687496883 612292988 576645830 715930657 112298089 955004960 982841775 287807806 576035527 289592795 671168369 974187819 881140163 392510492 726857600 839884976 197788996 401348146 186007572 721470055 788662144 733994377 514470053 283108307 517161233 558167282 761997778 894089809 904251914 682344004 552584616 247016171 170825783 494677893 844519132 699698407 227167504 719444714 528302884 642943450 254141755 484286280 399436235 957754958 752357268 718949748 173615805 689841074 507109143 846137274 103365308 596157920 874440262 791958323 128995633 988187778 928591778 257959726 699862421 164664591 842647421 713973648 934684004 578776846 454633516 551371201 963711270 725793852 733145205 548392316 534366516 974244014 503428793 810836548 785804759 149057329 873529859 835997579 649778628 558377737 993203644 572015001 955678405 598684353 872916189 936991593 791950068 394114964 875956914 829189778 542599883 774712262 342609162 450049524 422642982 321213708 716901922 539782463 999889949 526700616 881039979 307695684 608106885 929594635 727956067 354951268 672898799 686798981 171622908 816353917 656241701 362610272 654771974 574036093 992629131 605039936 473850126 743072065 136885367 726740543 157655802 145946410 115693161 494661090 157459914 602856222 739331058 146347803 601646025 369179444 329780041 973558597 755534620 533965357 862761367 315785520 182391495 233445567 626408329 228316650 563056926 803457205 787147291 193718815 304914209 179158923 496616106 165825016 747917980 455903837 492802740 852802604 961998982 188112113 743952989 958538090 454131648 718896060 960650254 862992434 627061878 521837405 486305868 142905939 351284381 667740755 266700238 307638708 397780181 984918630 720808977 525456561 481303249 574714608 123711329 988363562 506760763 505740365 894708628 628940020 549360213 929676455 770813756 195328831 629493359 572834843 337727422 977636729 643976970 545335430 773347629 519652002 739470560 509120836 431094880 515448524 693181297 654334387 181702285 545697258 288060873 886616589 481465086 542211942 503950118 912017659 144404034 552580326 976824691 126790741 897064626 905865802 589789379 750879261 637757147 248886309 516482148 272633640 495132808 443822727 860274500 196353626 398100616 795506964 226848123 820074478 497242254 526878086 154814647 502987378 878973770 446931395 169698880 797060239 183070697 768583292 504735281 418054073 809437760 887829350 729593781 285277407 400344102 213282229 488887862 375088065 222641407 929109592 476457637 592613853 538662514 519894961 209996869 173845930 234985929 744876382 387141498 456647988 377738424 933314102 492630844 838112829 433609559 888854115 834076647 751153067 790649546 110297846 402644259 101195291 155123253 171874666 712281674 142630971 327706476 215387547 704822403 242992266 364748645 243759193 721323438 837796770 745712790 370055650 673824621 518225414 224171547 190104249 492951243 948537900 520561617 915679841 927164090 289850145 159639861 181445548 544994972 535006069 409148851 773576655 696566635 170098066 769395157 556116555 774556057 569289601 509715505 333319862 891177099 267580663 796715509 896883229 356963982 229493452 353792687 290981821 360569232 366355835 306833146 325688310 595148467 961669350 688012200 202028571 183054692 452242470 563780794 284219335 136299193 210138971 203859597 474258645 869027883 811935275 735015451 350400550 411077013 396658565 169326230 862662361 712197742 546715263 887254932 371942165 946507625 543164345 425175818 118235025 339384116 327965883 183567893 419751896 393693364 343261724 869281023 881258796 542738499 481578244 251011101 330098100 757052470 102577444 968284413 716431927 140949053 407676726 217918891 690879878 549077859 388249932 164761798 517367521 977637769 178933956 226991573 444833330 125693242 287940130 415257294 368223941 931794290 606729088 434600314 512691153 738597102 980332706 438958039 364599058 363579858 102240686 617858156 998288506 822243565 486066422 524354961 574293975 323526998 722187263 326240814 278282901 107902975 954888629 391599385 596863187 147964604 378778835 704833133 888725879 299882403 641449482 665545001 451924986 203196811 948383179 453758778 638051477 841827758 194364761 563841713 579918583 337796322 267065888 820368034 369555543 329665236 993953174 314360303 273160613 883408869 263000076 395630708 617103827 288966330 427753497 710898284 269933677 950177849 833309437 789975640 318905576 363632946 698694775 978152321 419599448 592120266 486624134 778020552 984743219 200681228 965683306 340867905 741376139 454159754 912793143 959703783 387829613 535059332 739630436 270519136 555501832 448829063 613852451 988192296 357001507 570168873 268101754 594302024 313109501 256649519 893370581 460602708 171997333 178782873 514190737 991789914 636907446 966424180 347034223 495875847 749316932 191934017 473489622 857045514 720468488 864478262 579335646 679486023 512825787 925180702 122660546 444137972 384359810 312390384 830966237 603310048 496312286 621369999 269502721 370019099 227499240 305248711 590947009 155245681 391520547 252936534 847010011 132996259 981952996 306061564 751511839 238889394 395424565 237853503 959774460 671155215 461799362 758117241 988116179 675451695 671136579 543341436 596791140 527511313 637302787 661261455 446414774 928639856 920317456 202357751 424446610 658209063 938818955 929334652 234360866 345674196 378018448 641886338 721949574 254899629 779135458 797261815 357079091 505988344 906543595 213071159 290307517 214018829 911865385 258328164 436523659 400205048 674725312 728348883 556774177 447778808 261794186 560930105 962823975 760928914 101302785 974866970 853321188 747608412 753759498 480159551 506975407 740207434 275816002 863876284 786919910 907853225 652003286 975757818 322328163 537924866 498896659 912970512 942512028 230662630 673606819 986676769 209199601 855777415 334511737 654421785 735851657 405924407 138501350 147794150 137810965 127536366 692257833 539985438 687742698 399096405 499551362 165824013 630993664 103101622 833187245 320951944 516750780 572338718 547865783 360504282 685764347 767176480 269115550 224505674 476968549 938701014 283242387 390770659 841849518 875492850 445815144 641035103 301437504 651605751 437490386 620325164 423153827 292603956 387776866 864965385 475848894 735939173 572167932 623280737 342201162 491987182 603861905 894573069 276438829 341667657 642875299 242648118 112847788 562938642 903330691 240709406 341967064 586046836 321426999 355982724 969382357 823938291 178355819 271502763 114996640 372929302 364435919 622696910 451231090 543275655 993697701 855509189 699755849 130256563 307289141 912721781 723019966 450890122 528149299 539144992 630712303 511070530 624852789 391328713 880194967 508943135 892638032 678806878 156600718 628223356 624966128 383954717 947836222 836943515 814402932 192407669 302213923 998820962 972247799 654976882 983907487 711692667 978762931 363553112 664550300 939009521 925849705 747319743 318061436 903854710 668094527 558226636 814689042 331304980 272003906 872495154 683461832 514324753 332095675 872215211 103351142 557080876 885530440 680260196 331234159 606425740 710481100 742976089 307014787 926407845 462712707 400946042 931071058 739979160 350017706 781307863 922358567 410669822 428586920 343423718 539639050 163888720 863089423 685995654 804659427 426461228 254672844 111690320 109102176 338358098 918392993 883275133 427006551 661386542 691638484 250383912 164793522 313812345 378534460 258814147 917542870 948901845 796596338 547530064 393383131 543701499 232389023 392435342 749694081 324616150 866779885 456158908 699145524 887427502 639039477 942599360 254241652 700651889 978856898 864020925 641524553 559438573 738377568 497151879 137761367 231525136 630502670 911822070 223798286 997032832 316988093 751681360 257410463 955916505 105322987 609964039 857508621 412055505 474351816 771471317 174657655 391668058 877131023 960168234 868473808 177043954 639914317 231067403 484192437 609697286 518605441 525788787 928615370 837048986 118253959 583790865 143085102 518564350 260180775 218678561 402978259 432788725 388880229 922466820 854315494 506717015 547197839 188830361 949380310 742331991 618545895 618800975 451530501 580662100 102904440 246529664 141939861 132082447 938117184 917100008 229730774 125175923 700145575 757165644 595131074 113314484 751269246 481780604 146138664 935025932 819585983 576519752 363069125 676381148 550545993 828995951 722329623 558355658 590092862 789365010 831330508 407906918 730327384 241807497 430237012 470138613 975304405 713912648 519037043 988975447 242773225 857002622 799426169 850677938 774991658 743048449 189193487 962526060 400791684 571521490 697047838 135705812 146004827 419675489 460148563 733189072 584383176 442821174 927860204 808376154 324930248 107965441 990234899 156652251 430025359 856520012 350719219 887360951 626826463 198069380 166807779 619073164 884486542 351108053 211631237 214571924 575454088 141346616 855769711 739990704 180701030 207514446 759122496 291280865 222713877 368356397 522419967 599223117 826432908 524339563 629299024 726025583 172428788 110032653 342054589 319636674 241651547 269964713 987585430 250663077 153707644 392461248 923455017 111699030 426759828 103109935 929309469 473815292 776480869 846492348 687850774 849030727 487560377 600868890 775677094 985052878 502633454 143561541 621434251 268281662 476260079 785441945 534398750 622078508 471074364 725818259 443564109 260689251 210408237 977883191 180539368 946452282 124594279 286612961 106834001 840957370 414319899 888932389 101949425 943152606 624001988 845515096 886313314 651052148 261978711 832985069 738528073 252429413 484660667 148156704 829845804 117072790 222533166 130881492 963228480 605284495 597761896 344844566 391888181 552149383 415343294 377351848 256897132 406857788 699177712 652712593 306895244 463061273 170165438 743704198 480189613 728817419 337104715 930022249 557262946 211587444 176214605 679903093 579251665 378017190 714914110 551236395 413590855 779419627 640184209 481387388 946637573 550989675 115055267 313375686 271530742 648867775 480300838 110620339 775634560 347574869 849682061 686243904 491798615 380485247 236958455 871616386 382968282 819325679 777465379 646791997 310256266 235599553 188604704 173280494 455157108 293316746 109087504 241660899 871790787 160852304 565212651 907722520 634156195 790911870 331364716 893159751 486386162 196907154 466417989 938572384 924291747 900147023 756237746 773558611 766230414 205544025 168213604 304978327 389639776 699772959 396092805 389273778 226927862 451884927 729964862 278621161 936614808 469132507 666514330 476363606 778531348 175206656 884434934 887823541 977333584 935265219 166480856 126702913 469637940 929198614 757463108 445782429 592490433 201761180 286483555 490345687 371758526 635059526 510023368 560294915 733867272 734940132 349678489 365180628 672453706 415426765 213827313 102372998 844980654 500824349 234030322 286592826 906564781 781724701 129316102 346717004 762075898 273803277 569866381 193356551 896365322 271964126 490316024 809015825 437439715 474026831 313071868 786203115 335810309 734419902 126750101 631349080 560482734 878108997 423279563 305842270 835084987 869289553 747279126 619004043 164361495 396887522 380081210 945246885 388770973 727412278 833145457 952818028 648170012 985123710 905495197 397000289 782550855 650088907 424105078 525071336 133392947 832974120 639390819 762527452 812738302 315754679 231975238 789470267 370532467 899534392 482723650 485748573 623993270 328044017 598560014 549383784 407457520 108018685 817497818 935886130 382193315 688446005 649305479 810551195 248539759 402033535 222194723 319851005 488447315 943843585 813227215 794030049 996919224 367007238 731341919 807584233 487431684 265054618 994786737 987508101 197541668 723177884 941483139 895049660 284466518 826841733 461780688 701854331 948983087 603252732 486566148 532034805 666729665 171820354 600660252 927179201 116818618 724783461 321386052 945823713 598934326 381912954 302097461 475437402 776594514 486814807 119899533 899112182 653611794 321826753 106782967 625598131 353286219 924157903 178577320 261477046 881382355 202462385 457471437 424245629 794640452 956766306 782386307 715893398 551009264 820323092 195546194 974778612 778933897 484432286 731256389 449918929 533918840 950446087 504404287 476135907 822464452 716564652 592554773 585136881 787973565 686909145 605835970 918282523 813396416 703090071 714785842 851460616 218611061 618427404 482928585 889891614 438601083 636080892 883309024 835131998 331171432 137444534 261236633 854413486 276111274 566595531 363707571 179797356 784400959 430653221 302066063 787518905 433572454 615097830 296978033 201745176 636645106 196267485 427171490 813778860 933281912 950963409 821588489 188596439 365227699 616577200 740304304 303525314 338238330 338467187 769431715 245186795 557583885 392702393 128910554 315848611 751092544 443787872 533096652 226937777 759028593 183418573 531519983 191914730 789716365 148095645 530982989 932143987 694711248 476481911 182940925 197155524 595330513 664191224 564804709 498578228 593843377 709987693 712942336 626453615 802253879 574841716 750209277 120786493 123091444 534207418 560183114 622449358 117129429 953805335 718566524 186080051 289518135 344257867 280300840 817693113 616452382 913203315 513992035 884899275 318285555 360429296 447427257 635966606 393910633 933924620 310501532 323358677 969210724 371777368 500401873 724714882 204945856 998483468 918628009 297423083 671996871 666447014 517325661 569791855 117835223 844133989 787092982 222176025 434093443 404100994 552849712 573190563 614196684 578071084 316535709 842580042 828848018 591195796 589321763 686503757 661137202 445179545 136812825 478900853 887757723 385384446 904509299 306974162 310013142 966798827 662892548 149927484 795997320 335309663 250637639 892027064 133785242 479702677 801558617 942176141 562525767 796462323 696086429 100991051 326261208 477936671 110007911 765133408 607464422 309464245 191055846 867726003 844940054 538232236 995655903 418563561 155302034 569805457 798507963 935550495 780517001 460322191 620250395 106875421 333925473 651988639 684967306 705627069 803586706 869915390 143350984 858150190 341997434 722791501 879213323 120813749 814873676 266109486 847694974 367998621 641386561 540427214 653536524 586916196 402355394 781058194 394703926 842803835 940203064 912019769 620420819 336017210 340292028 532514128 552247332 564741423 903363849 913307450 681094357 280170796 156091620 613633800 127470059 432707824 136136836 304764201 540244255 658181268 545514056 867738589 685537181 511963411 676385917 810168103 672838899 713583392 251505427 454311785 370747323 855528743 447523470 191125098 159676016 911261105 271564184 869472555 371387550 424813218 241373840 641924239 390851834 681641401 718646724 953651379 566213801 688616251 492084668 632895116 564982633 917952542 356699322 825990435 704944040 127720061 595174142 663219344 267450165 216387280 180436837 431175607 350332800 669590896 176487705 282045681 676458803 663525843 100322721 955555253 928832173 130231084 786985492 434098964 704990023 290130387 985737894 203124487 479979130 217789214 683243904 545993088 761091677 883897885 778445813 547752274 574643192 390274239 427474224 598348097 924316940 393226081 107264476 516973652 755698688 627085571 167900600 781945981 559243924 559247104 933096818 351741982 827064314 776536145 522652774 193762021 426051502 534272136 637754396 265166930 976871345 231992091 855734969 195221635 389400366 931767313 812146833 126503075 669665533 118265472 174937897 557021262 670280578 486827586 466501330 119681490 711534062 864512486 621648999 388049076 726294896 778637217 169868734 196136559 256434802 491349070 621065507 238018901 325995689 461553307 611911487 328635901 901111743 784650809 563735321 838679649 367443726 758757074 871865506 738416076 417270277 299950238 682479671 404934447 963867777 150514903 514191807 783403659 256296204 781543276 358115403 898437937 601049040 944465620 783489806 131552992 426855002 424338648 463818775 395540964 770603538 458098129 165582807 515644597 733127277 641660338 666710600 833801422 811183594 911604038 962311014 905940270 462848467 317336592 705035298 685974257 119053825 682026979 182421432 816621319 511839392 157336084 749198350 650715208 527611813 792877397 616669743 595924707 370970305 314180041 122628083 580671283 671620478 950376612 261218046 964151401 182625806 912909632 912049440 334592383 719997461 365375739 463147638 478355933 567377690 969412737 329294944 320047941 454790690 461366276 923608748 820188051 185393180 853805769 428251266 574755589 780168252 444158913 885453098 856879613 737492644 674593715 990441877 571712019 404648508 122235319 702134103 373571132 517302620 547150592 290032098 880198974 985071638 287941424 411976275 671018303 330686231 587041960 286204940 559323875 561032787 768318616 899140891 760567116 115130717 200539676 377987176 577862559 266510522 858386172 137049966 460308274 832357464 245003014 705296049 990412373 717097821 262348858 986787609 639692169 103964580 972762703 923875663 970810987 464252616 259051194 878228655 368322119 627689555 150709603 942432631 757067514 906002544 518776333 299228188 171139171 181109372 850772622 857893364 936679354 699465886 794922471 399432559 239703368 941149420 924344640 136858317 452714728 734389461 507239915 465145818 735866060 327620119 719786393 610707615 217449673 504435300 518605856 940290429 695896081 451435903 557369102 928038309 857908279 626653482 562476675 235846218 745919782 536843993 100805391 171279006 637400716 952752188 690198440 676395713 795749835 675641456 466194883 778085627 224281626 594694515 416271967 948767817 994144243 350356535 985124974 395310356 128761224 465261549 596150887 683455860 940666362 369446172 249456932 415496972 882222529 824290972 460035527 775310833 598227773 541204096 291346160 434054580 216109598 695552847 860602729 987814275 550653944 124515397 513028993 574407880 198683637 214049370 827012941 110191598 670166968 132807674 307282779 892543331 136367570 101174682 612227891 429378856 407127212 271442818 859230130 572184398 934629919 399603461 318669285 963417331 743987923 535353560 791251142 960430426 271070855 898771486 927180432 859321509 167645705 577115172 753740765 519314984 430517312 239701215 675971183 986403173 405649088 263938041 235020419 543234904 949085921 942101840 441994456 807240091 288557292 374913761 803278511 497934667 478660358 537868410 851375938 864250745 489016185 961029588 254674689 182472134 328680382 775465359 682845922 959811961 324236221 824467054 140802929 612534269 717423205 813267076 726894220 569737616 700679371 643351873 405601096 795517092 896132210 901874583 918576459 486750847 150454664 828273137 521480083 125198303 297578304 977633089 523548082 877160960 895322887 749925501 739312678 358684465 498774993 284722297 979474639 217109140 574458935 410950944 713383511 650235435 366154586 327210662 620121593 998528249 771522977 640170439 153402763 480498873 530187826 359260656 138052659 459734965 449802024 157512602 575343417 800791114 207033206 510292405 799710905 208523765 819173934 723740230 315503710 702429591 316144247 129454778 629241807 504315562 452295809 254725219 968663452 248705237 823442666 873629517 628801675 678652824 510953999 929597843 985786755 587365655 458536789 245904356 463255903 971984981 902201007 663503655 944323699 471680431 943425014 396064937 811091761 279753622 899426206 811855999 865444730 170030775 921452765 471168023 192916790 618250623 255251964 740108574 660991977 988809162 291289318 861573253 809070229 633848982 640199510 810710934 691737371 953424477 154717992 814538358 558227726 767658893 220165187 174507361 205613663 150111300 650188525 379494603 749653379 979382774 375108523 100611836 668708071 974441899 890685788 775426121 633430256 394893830 605519335 943386976 850318882 779201551 295438949 533356259 518184257 182692292 224703953 369391199 395643458 309733452 664049948 109825104 584609170 310998830 753089992 785739210 840874466 712157794 427377128 343310687 637941636 853975036 841559937 104484323 131625894 671350285 420001131 222313650 891448076 971898823 178917747 526398066 947469991 185661715 606430171 637585141 916329700 231551058 165608621 374781290 114363715 685518871 454818467 718815483 662882949 921488120 639917590 798260607 548223708 501209509 363690418 609280273 803015357 250865725 619961805 581612044 386802300 926825610 212535398 974033497 573441232 338539331 915282599 120075596 401738046 271096744 652358462 251706683 128569759 197684466 358155412 806539062 349790048 656459666 674200550 732451034 630359323 457963309 654488919 777194661 612113344 222692727 191916367 702959409 231545364 471568293 884382896 755752310 650792652 906077757 557774328 740378863 416368570 326939551 400110703 709869772 728682366 338773184 370473504 962068855 580679001 263837077 208401900 650567859 409858189 382853574 758741501 645623478 338096120 663010933 748968878 581278503 734345469 554114154 428646680 942379786 306137638 253573369 554196809 519462006 339063215 206602998 217255936 263053229 813353346 503107495 505593114 805772950 415195536 219615078 222596866 412358549 842163406 123047205 791176207 696800545 541023314 752519495 732541344 264043358 256179842 197578169 962345379 122658457 572551410 399448344 866571944 601419494 963563708 114892531 969974278 788151925 805917338 664794494 583361150 900447479 827213172 189087852 371435247 830018174 807767632 927878745 747644549 803067191 559339947 923902223 802846752 901180723 609358405 564607429 254163456 442283055 159754541 525182381 188990650 951874216 237458463 413553334 533978415 729789020 738017884 298250708 456807397 227704917 320673309 156514534 992181335 710058497 850262454 934313403 149021053 696067230 962121057 629799881 914551833 334169529 394526497 265746085 947993480 607507238 349330543 143130313 890383667 162727361 952155567 186855507 618281752 729997618 437604243 295339840 357949984 159041353 653473546 796225348 434327819 338000254 801355279 935902142 254767698 866638521 297639446 664500807 653561415 275729446 305862329 843082825 447254591 543271529 313001305 215317774 881663306 903180137 660346798 606778899 220082713 998053807 766485461 821507780 232532415 486175095 380056739 593159120 274264109 365995632 760006303 593160627 140872385 339067542 710652551 708780921 806430347 364295689 197377001 981242048 733072457 320412273 706767858 339296716 876511070 971174516 363180796 855739230 288353599 952313145 938154207 246775728 509574727 956057340 791402735 746154726 668745237 677323344 727948603 540611527 456467887 531828856 261728643 411163687 888069459 302283149 526463479 633860018 393419537 633540321 927920934 905518113 521627018 956158145 188140493 501855906 549336186 509362240 910973777 219077643 396726411 797222894 147702012 984346408 903679754 700666427 653293161 257729452 874280999 583655248 762038599 335945101 748659338 612909920 371764032 621096359 119928746 714392439 913794284 473732939 786170046 492609484 976003668 746645293 803749139 603692498 879619498 311738598 803331821 562433689 185833336 334607154 471312396 142317379 646377594 665196238 354932139 323510668 806480183 854020205 532556180 735047954 189021867 580241809 648443370 217267646 639832162 959478214 539088115 822701251 430182507 806870162 558671523 122250756 619529038 481089884 137020389 290936444 361630285 909773736 940443272 823508202 522798792 158993464 784685176 863272923 706192211 145276378 254565316 747084249 784751067 779297126 533084164 354240851 642249986 892870816 407139131 916512215 740074324 770023940 228296765 669628119 955754774 765798023 729531432 492609484 726910168 287665421 805206386 504076767 825533568 125375827 563306064 572712964 205515727 193156721 804858789 666207978 898135667 325971038 405157837 603347121 823288093 116533470 354910235 579750333 459396084 592214591 832140577 906102002 585541386 576831405 690280275 684015853 325016342 305376338 875094463 467105729 107003497 878675321 212623086 582602784 547068798 340733197 366478208 659522201 453222913 817139436 118238034 283241862 498160873 392191578 197738265 905068180 645173756 506666256 938554143 758990595 140535545 685232406 967719217 331537411 388477934 473214263 727338084 541673027 947946520 625053443 631446357 753758836 439091810 772716760 158918667 134321658 362427162 227330033 557993670 795862553 449023624 277876189 241453231 394061926 831204777 103749226 555338022 305021846 303802186 727298744 863686153 952636953 226260026 602066332 160154870 393195858 257711275 112266336 153290479 552002252 591810518 756072084 686854107 181523153 972795946 466533880 949363674 716499691 344072705 686074157 273524598 585747504 682681249 857810608 333419416 700625210 450806820 976886825 762424213 791391723 528673801 220823951 259429926 151807122 249101424 266576968 237435350 884591867 933045804 543366284 700994141 346459727 967430184 116397888 859431963 732207998 531314888 483761188 401031704 464773200 809289770 925704767 470770400 704387698 996743248 965320092 745952875 899402101 877370932 838798562 922824369 371027650 955086273 991778067 206797848 224210727 571733626 757315545 632124697 201042207 284930189 465234826 103267148 896205488 166328212 430399707 341909563 731185269 110988086 885935363 861575590 905311795 479004638 414565008 480051494 765055170 658429944 684404518 628896275 555351758 397465927 453353035 769754674 654335052 579168877 276805022 521929004 513532806 229533622 740076174 485023846 364784092 919758567 276334988 452355632 977300769 872611313 931450137 847477681 216916058 610425312 345299136 843326136 406237770 680097704 479489958 937103315 952450404 713069392 835640950 239548309 500155041 945525144 500848589 553214723 679242556 110458810 332293891 637944779 328644130 911323113 490884469 428979751 837093627 475330735 599212967 180886209 531374446 791251563 770437381 709611371 318838332 145616002 578222123 514626565 973865528 646110794 454924169 218123054 295801824 206762139 213429234 993631589 294921957 979562690 181981520 432163104 245315360 870373186 114857771 340137942 334022356 742739675 121992569 558420157 477529901 705573619 118177932 517026166 381973207 675793936 137670887 145768353 659467472 678332885 689387845 104361754 956448911 909898200 937995174 880350892 723888214 335985947 356285899 772344602 891571605 370183983 259617938 682868721 679985375 726511249 638702873 717559933 571913123 187458607 213730614 132091002 380490755 511679324 319090424 758823788 418911637 465976840 798934433 749801783 476852103 852098382 663750329 391014482 366786727 259666356 921330342 789329501 654815728 421036534 156548525 345788386 189027023 246831978 975205073 858889271 811823186 807848513 203402626 513756962 501221551 693711120 212583705 705460867 535183101 394252660 130550333 684478430 628517960 395658206 326730943 766172930 172041078 551610222 721512783 516533846 226303814 520456388 876048452 369999600 556521904 777664488 951249364 467674871 959294112 888000263 768411450 134723580 426630727 708393837 695458085 625652532 866170276 577753020 597645603 642321239 966485161 948394515 829980866 792178124 849367261 478484925 651783105 658680307 820648157 849222151 616696294 982702415 190311582 931517186 205156268 718789272 675611798 788614649 811239988 720785748 116000084 426768724 529216053 392156198 557058555 148503660 678465390 748801931 777453473 688934351 251054967 854978186 142212019 992265218 119696076 849051923 903630296 321677371 402065412 641656170 208352215 172057271 115802150 902611292 687882098 143235475 416025806 483425859 980485671 814044794 684392847 874550491 524271203 523164004 758259057 296007333 287124239 220801601 810600022 175548524 259938324 990091596 733788247 476317183 224769518 602778990 107372410 497734773 186178939 298878904 211665426 639832780 534674703 584166616 706795357 437360994 619567403 402296121 829222769 416112688 244431847 549069962 215747889 580006588 740554878 898788351 118105268 453035711 714288423 202645503 635510497 325529524 969496905 419109128 171642924 507682521 271108903 572883658 922073126 552238253 255224436 331366454 130722633 363630724 903911700 751364288 594067637 592481492 350355200 219519008 955290276 932384399 501098027 745072279 138386188 113903455 655071331 132065420 886283956 943874037 402443561 648965433 335857310 675231082 762041035 682508188 713554604 956915733 423539318 522118991 351282185 828476432 481089117 282233418 245180847 940031486 863790942 757412438 550060305 523611115 248897024 792249160 206232335 596480774 385044271 964490763 165281666 525192315 608750351 603660786 173978354 988865919 855257956 294216415 114966937 443925924 811080402 262751597 171836987 371863104 325506818 499163366 992606538 613448541 929156919 279862768 272355177 170013123 525120228 946447383 372620626 658152189 737026283 117560055 396358046 548381801 898382796 104885671 795300277 840348337 603109021 282111213 244939604 173067263 668715604 237905528 680916424 385998629 890375642 818766808 638236435 142736250 699686417 711796700 838105239 954300601 524469459 276055259 811706406 298581439 777935925 824792685 292056540 364096966 884418285 381648351 881306299 592734302 695145446 545941079 123603178 879636826 792052360 957178897 866373358 349313008 142865171 127140039 451072750 696287861 341097310 679731880 211451505 961232062 133115962 425616969 692242669 346436370 480042992 940409350 196216645 846970063 772369607 764226670 189711250 127491952 399195674 211818970 857687417 818853447 288634043 373179821 312067553 392282228 920367910 764639342 797208568 105381550 349108566 292930480 571855267 374116758 848997370 839363266 432115790 992248136 629675738 152439421 898103340 579240822 959563130 426236636 395491652 217972633 941830119 390276768 494226298 401482400 536960349 324038764 638539377 943529275 273771341 630348189 285317885 606860206 412871354 646799997 473486828 420242569 722545306 363760759 190701123 980164808 301574796 254385095 566502974 762095910 520457947 605298105 725076806 539638617 693258688 942433259 524873964 645618695 396590657 641994524 922525177 621859606 538217806 197008656 645281722 451607931 901877438 669120132 490632471 943958122 807419508 780319992 618762848 211816856 286621745 867765340 475101474 752826177 829946050 720587480 520652601 804603656 262743251 752719188 493969399 803184013 710749562 567865687 554403650 801608947 336179183 220015701 306721558 235426179 883628647 730132128 317198176 190327842 358452582 125542435 884735010 710381598 568116408 425183452 763520193 883508124 883458916 395146542 628658722 192245978 662081036 139098702 527905290 188111382 395736692 269416011 566967335 142302653 253467255 861602435 338411679 575636279 695293445 213761352 545994038 220648119 925951326 702938124 329002998 588567551 770527528 855743863 172367713 862967813 536178946 642381761 816889479 145274761 433802774 568154622 909396495 658027667 169778345 185509446 290946553 300732436 542199251 394868887 501043342 198353707 306300194 541245162 532267898 319427677 563879116 738606784 926460809 717222634 223960265 303158059 596493447 506990585 539079897 748435020 222929753 532262075 763246364 313416855 364730722 369024502 141739609 804330794 835025238 470745114 171502073 197800350 951866210 835462716 425124661 461134796 599559456 538718838 329042027 331942161 934417502 689835434 738903261 962356393 231590178 961379450 858564243 674503919 205284616 736813057 196783681 842388021 901263147 954932312 470033112 130164921 535869936 753500666 703870311 875219332 960065303 676699236 940198449 919953294 271055178 745595417 593331957 877793289 190110956 114492460 439566581 297424229 355734288 444453331 893279658 824559989 636562295 445716945 901127738 329297737 854866837 475461469 301267008 416904156 393253549 964871709 927687237 725925004 864226282 304114125 441566998 914555575 783867058 820336885 960389386 789053225 383746155 437617475 585814341 418668786 940451311 393986553 706915854 133586295 127153896 931581625 995445154 107555772 662771491 191733274 368847415 285358556 520291283 439712218 330845111 197227292 496282417 440361922 778082932 118785765 910757861 280730578 280677274 620415674 953723243 321827407 206519097 748254300 621450271 312629254 243059338 170721797 102210217 985918185 723960659 468124486 538381912 831209657 410858936 219731977 193144564 966224852 651886596 944129171 941970646 216912083 939417790 943432152 816909736 945951698 668260528 855870867 371808463 486088037 714802835 626174785 461997939 915355645 687704035 709543898 493733371 804607423 387222021 881989453 153982943 603459985 756773633 791724399 897855045 592276076 393660821 679389779 517403430 314282036 262992782 852377240 781506298 992489621 663847189 745046057 175321242 656357897 611429605 431514746 607987430 199589028 947773907 220509455 756272483 275545674 522149859 457369573 614335982 946261951 147817053 296204311 707818553 763843514 520743196 613883686 524154009 245311928 600990456 865054162 291098389 896644181 304167574 514071088 800697327 948847721 794302785 352953396 379704348 154906474 968704211 779933730 402117252 898292028 939075212 211743719 832921629 711562501 455535276 122571548 873610400 698336638 112421898 911526555 301533266 869885544 712847581 531330139 188488886 751013476 677235221 847008903 154182713 130006217 416633593 529572297 601443844 724972608 992530308 859645483 167171498 884974730 566291497 127527703 517206617 954648970 927015302 259496296 591073939 126486569 719981485 324890940 303799271 209330337 195008219 347359893 727330379 739760250 171944438 317970168 484878106 207780522 110611950 920131622 875674020 705068595 233608831 353631614 471006953 663097955 783153283 585004907 936250415 950433131 842724211 948742872 338474159 600512872 558982335 102595163 932046380 296666724 746577581 437939894 909210157 659069883 130836396 562750029 733730142 221476261 818355762 994033123 875665668 937895881 929857934 973035407 525731915 911673678 751130644 491565356 627016830 852390032 888941445 186025419 242064181 423173599 381973173 896995414 815497148 653591697 486318511 873625777 296205738 153980080 970093268 552566877 779964462 219257034 792458988 352293751 666255947 642053449 506846594 454003245 210547307 704026041 948746369 783396718 966816312 820424165 263076943 791754043 745633716 541485923 235309041 780202930 962193715 232759686 540100056 936196417 225092304 470564829 334111295 222261827 727523653 802791625 267493536 282260039 760532318 477636807 738495145 814936543 585664894 877431837 875072814 729628216 681050073 297678837 608143804 267592913 159890966 840393429 213339259 982906198 247643390 427921950 109643728 423856576 840283580 896463369 905534249 875128857 954175051 876291461 292237695 606129823 726738721 970815271 349831441 334577067 612328699 933423980 606748724 334711494 822529546 967522494 807827815 323610051 434453719 171627965 559684190 182265426 511013650 841831326 707581751 938638924 582050017 118343947 466154273 815316830 844117233 939837717 586567028 280321594 847192801 132751422 908739639 359883107 790299086 580707033 320167373 970428445 454330239 754843649 769971633 754641675 914496262 332236542 837818232 724941587 970155973 604687002 645809804 259684887 347271373 577819846 275130279 768998431 352882184 863678957 734423465 758974164 626321818 607071745 354529456 671367237 226114531 652429212 928540313 261252304 400377527 352078889 237920620 822802536 253966245 564043427 484036961 157030156 133702555 747000626 888954058 663930768 492752533 474467654 882242741 849925365 775436825 249618284 111753397 112581837 754315390 873225403 110737091 448685726 587126714 929611975 116637312 234522379 328624380 647850225 244656514 805179478 221551533 404535388 807810612 583966906 924342498 522175226 135915104 511849437 922932369 866573135 976398138 168247690 637872351 969449007 943884270 642333931 565214502 787231489 658174077 277281720 744396481 968054258 278603619 820134572 164062028 345756977 738589262 200172817 577712067 800773470 898832021 636917803 727249899 114697912 699640331 959871256 871694610 475148853 111628331 882167579 210590324 779603112 958719145 213265591 620951157 695063376 869794847 786748337 204443828 465907846 356424298 121516776 137526786 721787290 335761028 918035139 536979661 372831748 778253186 540986259 535314021 248159316 225815866 608689919 951487826 195180808 994975047 684790478 238355106 344572226 468287382 810521111 598009807 409937968 664307178 607954734 378990592 352437952 695114082 975807972 349394513 132450803 455144338 785736674 746366287 276867909 339510633 539153304 908888941 789929271 288859752 745447903 437877401 598280608 507875618 713613328 101318463 174922456 457701697 657974444 795196386 188952495 882641432 125166886 243028417 193690899 550937129 865803128 986380967 115764303 218156767 998745481 837330318 435711911 275177050 381340454 689486927 203092565 640657981 127429913 596982632 748866657 308973756 661002746 149175496 394181894 793086377 133396393 707841772 214969755 896631480 111372661 331848397 921002362 717256258 618667768 523335059 504609081 642599095 971305815 646638077 923483115 316785824 556271654 881372563 870655494 906004295 734624482 379396895 544149905 623087740 692563529 378593005 622800819 976102506 272651310 435030347 641058516 949494654 579297298 283224207 472508512 833681548 311781334 912333254 482836259 218764551 498335791 233142669 110938193 225116437 708623067 438494274 931216384 273245812 869798903 730359117 439496839 358521286 311378697 129368211 760704641 272207318 354357985 907031993 176474051 402672104 139856682 766904127 920114982 482204817 109551731 991810991 163943148 130046079 390961373 219162807 269035615 687497399 224484120 516311622 677151598 720582834 178845650 781646015 435902932 410738767 114079300 119139766 479942512 974292957 198341722 150800181 136126658 453204031 471819436 316459861 627272802 165298022 857287590 649326536 730216460 538318946 777642752 599834891 749883654 606007115 493905562 337644988 810807382 160187573 266351817 847951767 500711455 223690901 711276706 514243741 272545078 202710694 385816986 878412888 767316445 367060325 265503247 593796058 221952571 152423821 377366442 790430134 686380060 786897149 161556631 757235244 792884294 333362458 788609733 476375342 479574359 622437986 914438168 644970977 775365652 687388245 957355279 556654687 324966392 438939438 724788835 534202117 635966462 247410887 821934316 940452669 541697181 790111176 640148751 870416267 457609881 507956358 628058699 802436126 688812163 415166715 974487540 528102260 331177298 743780865 171656041 756209135 508077989 618089966 459683301 591767038 580735338 559990751 332838396 723194715 509284848 890595944 941483663 585652262 179936402 788867849 229025657 487727554 971262200 264689153 359445859 366638203 616981602 468390082 728539153 466603217 860560447 629832458 906345225 451225483 266900061 564010545 599228177 157070214 877557417 298882922 904692295 194689869 638948267 935867327 967094518 215481633 859805375 954521748 898824902 281224220 986599790 306097850 735372608 186922363 726720389 168221507 159237798 540795323 767289027 381234273 515590329 296464863 386234694 409537597 557693680 797838552 452565838 533478226 631804880 702166639 324322236 880950911 679043745 478066164 471949921 553945772 808738924 890016210 207257729 673893479 829548855 654750131 634956290 868206746 783921645 132873424 416738308 964307578 370444234 288241702 211449364 170225533 973011879 302573268 875002234 339440400 958204383 784413123 549299740 312223199 672931465 954162531 179515121 603993301 416366129 928881321 229282591 400010787 367431131 464072707 266429522 813159878 989344499 283618757 532306767 920943503 702573439 231437877 474017469 974269026 357078738 712626737 794154246 236946632 852132103 150826501 132537859 302163640 392197847 323348447 605997374 977727987 226452028 123699968 241278840 344850355 589785030 184915938 824472357 638254452 274383484 215951857 112085946 497025442 840594136 129412386 815306422 349489753 912984870 153521660 334535077 544744959 777348615 420828016 243877957 923761092 817707480 833812558 686629200 286594715 352200750 147491880 819851706 372622489 970571553 971183836 409945334 747531874 663446604 121554796 951609168 419716911 795072728 265704271 355435918 907745407 370015491 986250630 731012059 697210426 490820354 576484588 767336304 920821558 781383262 985363161 681333633 332531004 380500455 543785711 524247079 731063552 648186798 417812273 279833849 387519597 601469884 707615983 409426760 595328539 836029376 104622330 979848137 636245881 342453363 133542342 247593027 770328977 774303726 196990013 881749719 771459490 724576174 128829150 390306035 758517312 587459554 300441432 193579101 932119772 304397195 469623013 163270990 298116323 315767415 584728831 106263372 319610487 912369122 277352302 711513426 429949422 308191556 554306262 267235107 734418936 433860541 489918517 812227202 717637203 216932137 845759088 665451375 517762430 860284783 646354316 587141208 394082496 258773646 549480342 358773757 953049439 921509575 412063160 810516017 641654337 567695133 568664741 900147518 932614869 460509259 332570792 846473174 714770470 568345354 688753381 233974045 485803701 463136019 850368719 176190053 394137665 809964022 498218496 877883211 788015355 813043911 749041436 902166006 394467884 820000088 469321320 242792929 640369871 251736023 551946646 119086408 432960063 329218673 731468873 153658319 235157723 664767024 111023355 419562102 556250200 348836323 687921114 882765214 108567872 215268531 970957054 354871311 518724149 899847067 287062526 590588967 734072073 804033136 209551653 381741496 786711954 688697185 798341720 319301445 616118990 589945458 781001645 905691945 444835496 774416149 457695651 446767057 199255321 783423173 810853263 368120880 479998124 126843232 162032078 994204247 247876882 162580227 202031838 581621611 531110686 960116357 549247320 520544280 738713383 190971257 316216249 321408769 686277919 837609385 116233175 304351475 803198252 181723651 859193015 615411905 563633131 977097169 551262352 932108939 836691114 918492915 610609473 906424986 689420252 345677845 758441841 287830889 680404945 540208436 921653786 879590190 795738626 404353163 502530074 225952670 792933474 612920106 419025519 251489892 153982160 763302452 305310379 802445367 824963205 216792428 581562879 706814326 509548503 357550852 439991159 833995234 186579258 764721996 640610776 955616632 282398586 853291445 239333155 410494515 809104617 493068086 155226138 786464371 183372204 591985224 528817351 249533780 440904270 373446680 478247234 676820644 241807065 519749501 745344459 806253925 773290278 911690102 763120850 467119117 107464272 698246409 860998487 825867564 790537954 140660054 633128935 835051939 653052309 113060298 539082367 405988380 946384448 538890367 167458626 643783066 524329125 321563587 294141928 668576096 690589433 192361022 261290990 138013658 675342404 342398023 851188103 890728144 587687104 928803105 886280006 579841510 709620454 502924764 297810973 470020602 653088577 641586346 498059307 323676296 585531916 434227614 364739509 553015992 454998642 481158748 966926905 266244408 776457906 637665960 760306005 571175946 755577357 228513290 345483901 937196098 394216061 906193235 603286804 295341681 542287589 387341323 326457683 536125026 216059351 149528944 936661618 795882087 185906523 754659248 221152875 219174433 969675980 844284074 118891971 430518892 847148564 397660580 238270748 439882112 938456189 251714781 303655486 466754795 579690234 774071488 126202929 988381656 972142058 695388370 509364455 723684185 660640082 366069042 335942971 768259024 246142974 970252268 522633538 174138750 514240962 256033299 489709185 255531304 574701879 417830391 659910372 171190044 739267967 406127888 681256223 297231536 349246891 894247007 217483502 906489552 553581442 509138809 754951596 744033953 168941221 737130720 806218237 171823871 708937713 746477377 238098689 839678282 721768163 730358506 373693590 698945987 608445233 476784684 968676693 473073296 900163575 466810493 470079164 143479132 952327057 595527820 580680011 659697363 391957344 113977326 128427010 554671255 788191802 817741598 403300997 597766478 655649353 446036325 391557368 311977005 827806052 175558330 962004864 702917852 481146525 739351542 812398819 566360249 331107162 866279206 460848427 441411226 893734173 312013431 615116274 118247848 598814822 586920633 960402783 966976384 582126951 827036094 227963495 261840158 437205397 116080586 167217456 495358965 500663793 833061359 647131382 453444411 630216751 648934115 964955602 340765453 925964876 775062481 605919341 328907996 289436527 168235248 103165230 146957361 460000662 203951705 165008483 578693253 688802040 742717956 501778749 775233869 469685473 625272238 751577764 146658721 181297477 306125502 961648687 230146436 901785654 234529809 931410274 783641600 503805187 619751314 323709542 689336767 661531272 144043323 738455359 616380106 768876638 772025488 739631868 667021226 972388045 911739492 932574505 726538502 366524465 353530040 739574713 937302336 262838550 353032417 950592370 258155559 979683475 461603783 488796752 165625521 570465025 928315754 248079216 374778549 431292619 258126566 346472424 299009265 686197975 280517969 919062942 653547844 242475616 326346493 597140029 120096809 335833974 126594653 406743462 738874600 703348552 340811921 921387528 174868645 644041038 346485908 581050427 632362821 865634874 950196375 495474420 740936348 847542524 812194558 791800313 779523395 180360731 889932196 648323182 624923570 539195223 538496671 424601021 271241257 591301211 304515496 654077958 855128558 597986646 231689195 172090201 442154023 425769132 975486316 132755831 783110084 634870434 680933741 442495779 928293534 394896879 616073132 940651890 967479594 220068438 824232136 378723829 456333148 458199689 984536795 242616775 285162762 185093535 288448839 593284771 259742995 509183629 848685649 181273905 806005567 233113344 884694716 854556874 223289204 672320449 537573593 422352110 103707179 376045023 251220985 784807938 585305218 314039897 692372594 458195254 279764817 868443086 783529500 516687260 861187740 827371944 977667001 510175027 595544546 611992013 464051063 188866501 234500271 208758464 419695265 685846473 899057052 863435805 350125713 536681767 112608507 427055433 387142616 983002617 368538900 639969365 682991199 264358577 106749287 471746878 353092243 135681204 539814734 586689272 252874545 600048711 712079344 169223151 117683855 673313135 973444340 704335830 470449860 629866894 298481027 907980049 505605227 780764925 447503430 504256990 115911432 840927535 590648236 688002056 270437645 164436330 814957990 553292296 234055270 891557035 469662608 692170073 524842049 264315555 404214735 128866417 399268033 518667730 698222233 779265745 410154805 524319940 298953539 263613051 382638830 922833412 407060174 512580227 416914660 565929351 635644987 398116389 742039862 664314629 100578624 694129999 817616741 144965697 189251928 848333686 309852853 534678858 439815705 772600152 901128080 943737219 448720065 422309461 520143853 245328301 927066290 421250665 919185079 500210682 907534121 121084396 272649685 260450063 764501653 776592449 677622531 777627570 441652475 163370109 517463304 927246805 202667911 961609902 444949023 208280391 594015881 598362880 645516102 132908591 323290008 524348519 548247613 371472168 661294603 414491874 483315281 543993439 189315551 263261493 355005876 827131110 983274525 138321790 438574544 638173160 136516734 875471347 935192052 403264863 789558671 277947031 702883945 787187987 755309522 696784971 665373012 846427371 440460841 122905345 100751375 411436292 897350421 380831242 326983139 504344392 461236441 863756044 672599847 114965663 123417529 612758420 946212566 115689969 187975771 662954312 374396317 108948060 195593266 803048355 903563380 161466026 504999755 120617997 387310020 102236506 388890739 911196328 354639202 547118952 285748601 749387228 524050330 568511044 624892246 864817476 743065619 632759670 924413773 350498440 786301361 388392868 953040528 848465390 675823222 609946931 366850446 456747970 791600613 861063161 286258750 326521300 752161461 246651952 132327301 156653328 689753987 806818488 864688202 445723103 109163625 929286805 308884042 955671800 568528184 571132881 262805232 247289366 647535090 856488420 229931694 991960472 832435633 757462022 392650359 519736212 794981049 216494134 208253962 807160344 161564378 101959822 718081643 407747843 957072789 147923452 329885092 217075486 294832137 536103478 689070304 599602843 967979122 637700923 940739210 920436042 195670248 541756892 168633281 674778206 218225907 687288998 261307615 612703091 968299897 800898728 445452224 660965908 304756196 281362179 783409948 446081171 420867130 222091301 579781624 724109172 190402650 575785196 829760465 330059863 276971281 912965814 211551298 825478416 515533874 358043382 529054454 595553950 633055878 694318880 248097092 976650068 211280160 457918650 582231248 821791009 369332430 613129065 355087532 116192415 315591445 981118193 925546108 138977969 128328826 987695029 791520343 550744327 373829568 631007221 520241191 639346051 705363220 267716940 708725385 614227107 545151535 813805511 396003737 692150963 377656107 545277283 134688965 521158309 312786056 883768915 746602878 910808525 399703950 357002839 445838302 905037581 694978134 562542008 663860670 236111058 229333186 688727689 251585609 508855641 627628814 259688390 804840589 206168604 602297323 285908178 216069870 224133424 426151910 742203035 337321673 640167337 774514164 440775968 177429687 890155277 525170906 143958509 844124533 976787013 130401259 822572279 418892128 484538681 167612405 461642292 793319067 455920243 973706973 269620979 752627463 373555490 314510835 565134093 570759343 765651792 687273604 102926928 678928492 399844084 932386895 760150768 482523848 490336427 150311417 618085310 440244767 109909202 152588561 946000593 470802814 429460438 864075369 358581386 459595807 815815643 725464489 414660999 981079151 473846485 794315704 317550413 489560590 963259132 594880041 650476597 386692390 486101011 610897989 668422092 712986305 980961088 800919761 566444368 108028927 119868164 281910415 603671791 523470385 823959178 159771180 815858002 616703098 780166452 612037747 402528284 711211793 798837668 472503089 309241970 252211724 111100687 942041913 150551727 597932082 709924813 724929949 757340308 899208795 364179298 566798286 967266375 201794566 568291938 758183408 556205380 629576081 736705526 255156430 830824601 748857734 814171404 791919390 890151744 374535336 846347383 873365176 869892045 353554959 139439849 750688521 770621248 548830531 828168681 877200799 460800084 622665247 272883917 675470459 448751232 839798328 138832313 429825932 647927023 651387189 773153282 951495258 836259758 412171108 786033742 961338564 754824219 576073693 801933687 915701401 103461715 113036363 111358145 119683222 419496052 965481073 161581275 683117710 744992780 501064060 810825489 177354084 239579454 509508968 121047848 279623852 914474626 803121362 258923624 309857647 181034775 809515851 829741227 357462349 400047471 777297218 785558742 563302187 229858444 702775861 225397213 662028535 698387835 869631846 216623626 863003123 228739776 509282509 237231333 448066220 602376245 790868843 452848661 910496200 296124508 631940463 731290650 417526168 899667734 355158513 906122036 705023253 920328532 131955886 606828336 622735930 296880928 982216012 457529300 192735773 521813303 978835039 504993185 384153310 568659451 946327107 205522740 698242730 361716653 654117608 527621502 711341601 224988040 382290695 917972065 370786195 400819476 409357568 126464579 343166135 273364459 426209264 631514903 972229467 266606411 409429130 539161717 176723027 361864975 560505863 646639174 485638197 372468631 180797828 936221619 532919409 536245708 139975723 289556547 395123876 213423877 154924786 630607465 737455741 869775376 658911914 384615739 579275148 766056563 627746236 474508962 914730331 857576989 984162042 936609768 573076817 312047773 474620365 746847752 639767098 241762296 454489129 219852139 661752919 468474497 879612180 646205627 707925703 825863766 500563707 218221575 686813424 635240932 334387672 557598761 313115349 447547561 983582541 267882792 906818153 552204995 353665836 438908861 715683167 811604831 691814988 955314115 584196224 194071427 738816186 279193284 128072380 959792978 740223517 768003444 222904964 409376948 156931045 118677320 254907899 921132596 850586952 859549832 750552652 413265272 989767271 692089375 209547124 732805343 199812864 682563355 291102403 284147287 207621422 432060667 932784111 877060287 904583354 894226444 384674760 585777750 915920936 966287452 344508223 383385595 631312431 311860115 157948055 484004817 409690909 483482860 772234934 734497397 524407145 998598990 215702910 790238050 929123833 535664909 395895391 988892797 332968922 113180372 438602624 224674355 708594685 683583406 874413156 284686006 570082781 732091830 826157997 787790381 439790456 352705397 158297833 660260425 550715239 357602304 603871779 989648280 247010843 713650295 746750420 934667032 143437899 107577578 360298857 233886435 321963500 442095857 506230566 531806048 725037226 359517755 595112221 596880217 400220480 618820440 127730974 134958826 130043687 630999821 675984964 887299525 364941212 566189081 267527713 238508465 624142813 486959745 808208854 951085021 113000504 539331933 764099189 822297387 691079027 588526482 261257139 800313574 934634443 364447845 127711200 918115362 720273242 246999890 937660719 662140921 479393936 728353342 973451581 172809708 428856898 109850722 871466135 870860207 270310443 141634974 511410344 321702422 489097598 222409116 627272618 918425392 350708430 963800446 891487139 143156404 755428227 362372406 373930145 937919267 465525985 688071845 920718673 196330756 132916890 898585901 974415448 370848765 901490419 777525561 789544041 520555517 533717498 163340718 340509864 164407808 449550472 191731087 367673185 176909457 597508846 695977108 413378440 722193270 597388805 150326340 529471998 109550716 156920129 792681103 537746545 921419397 836273428 324211339 338041211 453359865 777830632 722263803 229709537 478751539 524896485 486371122 229152161 675027988 981475923 112542810 798539733 586766882 997689878 709234450 840007213 908453110 739144583 347011713 651862984 426979901 937658099 578507797 543947198 626211121 988660304 728590732 108092973 245252308 331962448 827866985 710084399 652354817 483159940 618999450 840390788 564735974 460421169 435308140 718537260 906479101 453138023 648329246 619520129 425721380 858411615 783728234 294614523 445346324 764826562 761892118 718835588 400896645 399864911 568655287 179949161 684277473 844513183 624635441 921997682 980106744 504355569 522802589 909044798 945044205 799637996 412870045 743604190 376260169 306487748 607460876 235347249 251403568 428780723 469509354 710741901 841922605 535151500 356604009 117011725 734457963 412497260 997789258 322880846 569955064 463126501 719569972 439761272 404183654 758610361 316252666 991651906 622136913 933851405 443847077 596513810 952918116 655885515 836127735 660320857 118420688 916397665 369915938 465848847 977318323 430653279 751864412 661438924 906177674 595736980 573119883 946299354 396547031 877730063 777807555 573601638 141399556 752972394 594944843 924262395 249423895 434641069 546640272 792602035 141326375 665185580 160321081 812465450 789752447 953819875 883770431 810661771 849407301 375784824 942410440 779366511 371378016 865749324 842094171 531469313 592466329 972594472 998977820 315664577 180647415 751064232 275963719 432284060 309339748 242522482 226640389 201691661 690017470 652786535 643743750 715385296 119489997 234188447 738120344 374811305 274891545 172702638 360998752 938137280 994761055 550474910 914266058 174623501 293088234 426268771 256321735 242571342 775793452 961629187 734021471 391234426 332545213 540466193 451487080 641281852 358579041 308972030 539446051 246718798 235203295 881157818 885895126 904121069 785064229 880223814 217022199 451289331 822821748 663822441 480426214 939243244 847834294 983721114 801809209 104579974 311391363 849943015 364700910 904274476 424756985 383650704 668725765 263077143 926654951 116352245 100847615 255653558 269520761 513912701 401274285 316519810 991522521 192069353 117581935 207320844 903813840 860880401 538643086 202833297 631317921 590597211 370000724 847089460 940333742 734347438 301359798 557276758 696915231 913185934 410500806 843138757 585028554 558438654 820026419 663475680 793786349 823635027 813389685 338143719 515062647 193843966 193665283 505771163 655977688 707979517 560407937 564251088 731851666 658651623 652838211 853183382 291497230 902300490 403165539 163274001 371774213 273258188 179602165 164749599 895113660 534856730 947794789 102676574 249512358 323905766 968404928 770272657 981736896 996899365 897370783 431807939 103431608 545177447 358428236 773501447 328372048 734763649 488572986 266158026 377673621 395976447 886746457 219812520 193441488 419906922 382720291 488806876 242415057 397897635 883557645 351775333 127001140 552311962 924113567 911373826 550688655 606333402 655313144 605838752 731107510 637147734 174753877 479431384 583619100 283349503 843054563 853894239 398987125 316993804 322734773 722050777 836904348 538089026 133714241 760651652 965720948 242392517 690808001 593967836 444031587 390399195 590244947 578058863 435605309 566632615 937538740 720595155 655209964 318201212 465247864 903564682 304873133 935938453 271191481 103187408 728926453 560399519 722500399 440877258 214524585 803785718 869910337 527713359 926513647 619228034 180876191 127901416 796464173 206590868 539780707 326344687 934637717 368476611 160844035 648574390 278537564 853223477 123939705 366369849 670616435 109394902 111208637 173501988 394843536 160993995 230222587 231743788 911001431 452000549 171664742 436155034 383536953 886979573 557572034 879958184 835386497 337421740 877975601 247331334 360538222 216378761 487683754 481516828 305673240 681179777 451197905 691529741 629079109 265531361 110658518 301914971 975510424 294505908 745766045 733554000 737238857 686951297 581125052 684227825 436465164 107135213 715987778 184574037 811724335 491845733 878232366 900271624 814348171 856636867 182321424 225971403 908044587 856412295 688018357 793994578 660556623 831867858 902031143 624039964 404429418 214622509 965341854 233431986 126720746 513001508 185678108 687182886 309910707 427888454 293069433 491097309 353145816 312717319 306960877 289958252 884579274 886549168 156113884 626558983 909357938 582535885 174527132 533689471 975952355 820486765 922602205 763334572 834577048 316604471 897922058 199823338 127256846 683415114 722084644 916198374 824356816 858802694 727265048 289480175 127337989 860287808 619287728 677756223 429344862 894043736 491653209 874534779 918507838 514319402 815318170 237615794 250708452 248801526 201566344 797364096 453808285 116033090 254463373 369516398 352590135 584737451 412531645 297106153 967143860 579092334 778732398 710522523 369748875 664891596 364790425 160075344 243230112 562174746 335779675 274534563 867381663 368901706 804245078 448649303 744677030 452937259 502780747 454112483 538547393 887035639 683549330 651439938 506161627 948663219 511100078 786238061 584488356 951304755 523007565 423579870 619137129 629482171 133117679 153021199 120409287 810380830 120584624 624868517 793294359 796545348 383902115 662320568 962379507 586802487 861067475 656573477 870550692 593024917 365679757 374755097 973164253 973925091 735068421 395669108 294459719 503781198 521450736 905631802 832366770 787084253 989339001 250802836 842914575 308405585 473750338 276896591 976644496 740798780 248677269 485878233 593909459 219483206 998560977 160508342 879755491 392427854 144725028 753253943 934743222 143275917 319757315 704389737 397495782 913583737 236772980 790611535 204954398 180352608 905388984 225947123 453518991 191464199 556317544 789410089 206832726 137815313 947452792 577454829 576850031 361263374 494767556 530821680 675176943 693057097 391987518 213241155 727902143 365589969 360453279 799343736 166177797 571515411 364711655 597097355 340609553 337046251 177571887 874288910 423302377 783783608 106010429 626665761 416481459 310034240 438750477 367606890 270109955 781745168 995793525 828076561 627936967 520613191 259944404 162628729 870731856 658935071 612099145 170048166 298546974 430797988 208596813 844087083 431152863 471946689 789748299 207981833 542356760 882609251 281640358 769751336 361269096 251526300 377226314 485654724 939953256 907007004 372645685 906405964 484234484 246547505 196356277 283342115 783904776 392237624 283542139 628803600 438351007 494298303 690974622 121311743 430471750 614316909 305665525 775882151 930206494 800829322 174977142 277729004 172418469 384156640 315420899 676495664 141045112 490525932 122984334 625188081 629912099 906492746 401151168 757831924 645300765 629099251 417403012 439193386 811191967 417497430 686280914 640846048 555622119 609138842 477325115 350986129 418473238 309919699 387834726 944224963 884241991 263030798 505925979 835170713 861570521 155330880 751383623 962108288 869245188 228438696 604266897 871362523 627397021 754506122 738183059 210005365 317127712 499186721 226192339 503485065 993991885 320303953 723275541 821465671 854447645 298243807 393455435 242971570 498039031 233191625 983575676 946703658 182545058 665978765 462494482 347341107 465719385 296087822 536245422 654132374 500268109 815777903 307781968 350895123 608394547 525638616 790419818 726073531 106103605 108176216 109516587 886791664 783302660 693555857 403591764 248440410 514435726 374170992 424674263 330379668 303909156 569906063 595777674 731260467 347675499 732955602 557905035 373193513 883172005 419130486 414119223 176278805 445973638 835667562 543245309 314861053 178916603 854519661 198421730 636573953 814473140 349743482 389807448 337657730 912757315 331094669 665664117 415726422 554764658 938637669 553092697 368579908 803599084 721366479 261281316 697081545 812478086 657776897 573023155 827651785 265168581 323513126 493530600 627473475 161927679 933529778 844645258 361480611 165647007 106811210 320641631 482948938 202838711 985920617 229372373 762121226 442568948 709557700 318983875 414546392 633709619 624359042 277580138 966989199 646622145 601252589 540311489 556902046 593138313 115054162 204924850 734501455 638257195 167195120 453091210 182390371 149668835 413220105 314021904 805600201 902057022 794368176 582708452 243658272 509698420 164432513 891068359 429870553 115694573 448251643 459052355 292598043 374355689 947508783 789403893 578795915 999215111 109257240 805857472 738344850 491805704 115976373 240098303 216430355 517481611 916961383 812821896 655051355 884839266 578781212 867721476 677042059 293439406 932337435 221902512 173863555 866275285 630049914 981696942 842991951 719256106 390179768 276871765 249038023 918281823 435562423 591880284 477739046 157505916 110079924 378472374 216378782 908331844 926359912 355616505 375084154 351641249 316015609 922350304 687714427 825686506 582906175 569661208 427691876 418194161 768590661 723995970 880288602 753285055 630281033 676623305 182837089 406955145 504178045 398757271 802652765 493913216 963080370 944193992 547006515 636495969 328020215 696248634 379733158 704211406 796440837 211366709 585690804 181845430 711769005 533059709 379172488 850434023 465139332 453999567 794170665 575763603 448233731 295269335 147008203 810283834 392975556 715499210 533404027 931023943 578762270 690723079 416312384 779544462 571442107 163573343 749080255 745621233 586435850 350820012 199033852 486778960 812673891 465594961 381045714 775882205 721055838 381980167 291117421 999908926 787242301 379679656 824326992 167437869 712017578 405210354 556428638 666546105 452972825 243182781 563505818 323552786 719580882 817322269 410785329 610473693 555028354 192793304 382060592 910308465 446904310 918555326 951753618 870395476 908873832 661277115 800392928 186423196 496803439 208128641 748897619 940524958 674049857 563192288 210061988 269426106 818585074 994108887 873612205 967411844 506443642 181400966 737708379 414922234 569628187 477054859 338515786 711380590 181681505 738782290 721216432 896760329 119587723 379882917 432189215 123514818 920392123 883925882 769103824 642753075 132683696 280591473 803690752 761166934 965136640 498993491 163422435 961334036 295209819 595275554 566808838 443524856 459248693 264609181 807838275 293797109 155544365 571622456 378033724 506115544 704500220 142026507 491987159 190872274 237695453 196604498 727986001 277065986 757651624 874327955 520116555 906219891 297209115 162536571 143775609 509009341 992526008 148874569 108715217 577202950 946147467 703478015 962786949 940732698 646777619 451665524 283210021 334798424 382216262 612342620 397217996 630395733 408665967 114827373 902193639 852487665 305832485 330870217 868098541 544077872 384661098 941406072 899504527 879440349 785779040 166837101 834950018 221701798 745077180 174401247 474147418 559500224 427335485 902541718 156097062 588499288 423017997 702301496 602729277 527951716 198105159 702123961 928401271 113254757 789111720 346383709 213937047 601248733 230270706 419361148 288424046 604001019 239567787 389605378 993774269 667985414 500419486 927017755 628671327 532542506 852052538 823152378 356399554 237322700 217137843 324923323 830276771 984438390 546268526 632987527 614082488 696642966 930558128 592279653 142047954 933176362 889184439 758425474 665295571 372054262 542859975 831799800 977107973 824610579 998001740 162876960 874592520 123611990 711545384 642463613 953349799 320516355 887040195 673225356 606784069 186999302 363603045 442081640 289999713 167830992 804262685 485715961 214019814 170083113 840621491 447503042 235055888 458833510 461314286 714602434 192622375 828828601 258840634 485843163 542832476 174345620 956021734 512298444 255077793 391299290 974930223 628786689 517007495 364315563 523226403 624435481 939732529 742015202 746246449 162832818 733056515 175819275 868859947 688073568 491113258 950487996 715712826 228194103 876893045 369921090 268070460 850128630 265439074 231569291 930224598 757921166 579149774 622779198 448514631 984248837 872233595 653960409 195746482 906849277 289232484 683038592 578782358 821964299 368078657 154816986 199247834 407797441 551104955 385525175 745229914 263111918 386996146 634013221 713265942 471358901 851402283 321201798 442004686 673860146 902121603 971449473 594268676 286063440 950623258 737133306 973982369 274510392 254031639 489993010 935120465 738758592 622865496 312719313 117879871 624296776 225917419 624589469 286851946 453875810 866349883 819468371 984281008 221617002 500339486 911261708 241336609 515198569 205692565 524933902 196046235 507179267 927679033 780504868 180735562 651367257 900875832 534278589 756755776 563262367 269271138 849012877 247806617 111508016 450326015 595451650 484810199 819836087 424467779 888852844 477718876 636236272 303299693 786958621 592686003 224684378 421348521 885087207 665017730 474527168 600008285 557179650 730263811 656602232 740592259 524096831 449952344 891239113 204704622 142369736 609011388 128571799 528787904 141502199 378228059 718715012 387446302 417181594 883344355 987906722 881067566 533064886 192783375 733501063 845549648 587136063 880988571 738382139 560930055 782369817 138619339 147984345 588440742 605730308 717024966 201986897 347330631 846277183 517447798 550594346 935418763 587347920 562340117 969321007 651237493 875860862 759468629 168223345 119660008 714684497 420889924 580112873 787102492 959709590 705594505 933679952 290439371 801139528 942606837 728900003 332484238 824147448 210182416 667087093 288202079 426015420 730266504 541499778 342387409 573042918 902902053 249454953 617680326 433619630 518872924 203572803 427074497 360398330 849170807 934847312 989258163 221421651 530490732 244488573 978465255 764571761 971147186 308841773 950503807 627343946 546508066 906321138 919476837 207921314 529598406 322747518 358335908 713088320 497703131 431076011 809845624 702368672 193565650 884072023 399148590 286106131 245719168 464809931 102887129 645866539 928178368 462115522 449380695 394720474 711153502 661112807 117003287 230639801 926293900 576841085 929786076 942883517 533688035 928733595 980393700 696016874 153849264 360544196 791921218 731546129 896348798 316566465 359599050 737630246 509410401 305791523 360681620 995998109 716376261 794441842 111726946 205696934 694171784 150692981 425659983 570970274 882321970 578325913 423847533 428440782 820056145 228317644 588058623 131578206 607091195 682433662 364084589 184692554 559056627 996348796 941656774 925121906 813310862 860377770 484349928 135751392 152652878 467121720 355406592 422892855 104719123 929880066 717907999 131659582 144010190 325998986 193896017 515588296 626204397 354480476 948417107 735833001 958227449 374427999 495103882 677931375 350598564 503036779 526307590 913834089 974815036 693367956 184523798 912478754 814523873 351964058 903617161 814360724 851195046 550244446 851495315 382811442 898591276 655258802 446887662 717608400 228684511 837897170 223049013 478664376 763581075 901568124 597064753 637237987 827549046 797905446 513486860 610603284 583270043 341408486 303187253 382981631 771005503 416130229 352851974 252610659 861352426 851089659 116804390 520795571 108175187 164235321 918906612 635150047 378247273 698373148 433995422 869035831 597576453 113564678 471565516 422418473 230158238 276194433 475393439 369422330 758066042 561633017 673792366 718917240 626004360 171157119 422376895 157471290 774276099 588222839 903189104 136429614 622762588 291386761 107295928 655559576 482538853 740202806 739587910 129871395 277615855 843793043 315155114 222119096 542996814 309886990 671835237 893146006 126485795 333997381 515322426 950100216 869434778 999238876 728681245 272649466 662814953 591417730 399347225 989943845 458785159 898130243 571427591 946308019 833388979 701109593 776973387 724649026 556065600 854919143 148097521 209626278 644512910 620938635 241487807 759510137 690564586 982250939 911768430 238959360 960185350 768016973 656939294 579246595 182879849 668658904 138265080 890486344 141893150 860710889 518756664 665644869 918867391 870167655 389722996 135222702 792886268 791943362 749485885 668070598 279913530 600723802 756178118 204993891 594970554 422953171 112296561 392152050 811969613 826048390 770028714 504618592 790009488 774282171 316653407 587004831 103179323 534146582 393894116 512519056 819507727 617102922 845012367 628517282 412105015 549462538 683506205 565440264 700035267 154622317 281881329 562566834 930655404 838247623 464662662 914094826 522674118 325046676 417964211 702133940 460296673 264497033 899189835 301600863 262310868 294010686 624102964 480743141 404632485 510972720 986056150 403203560 235078826 582694181 542045480 823469607 602900692 144870578 275958884 135333151 659782156 156601557 950500300 752412075 917764063 117092227 154720283 919963101 487317627 646761860 659364520 563765446 221946745 756395000 766350599 481974582 819046820 809940530 849974735 887203301 680847957 829205858 926684556 962260167 894236116 177920856 106757519 299959996 964838102 681859566 376539620 845129901 187497734 953598935 463710396 283536751 508626567 389395560 630784185 336410090 389637555 914132274 722158772 894119324 108944899 150990884 254942571 106190655 627214867 494665584 177413833 918862196 732712295 448143683 391821578 235698077 108214852 898878847 339948437 392247979 486370879 812851431 983879989 521829861 595913238 357796848 395095357 242908833 779045804 286319994 273392577 262626365 622538488 907199494 915611530 254701379 900347256 191531375 966940073 397928856 985377433 926272269 690308024 616529415 661194287 307372996 391221575 220956022 727690024 712320460 565014270 280339128 640886603 242564896 318502001 593538952 199728988 633837132 485397754 952324391 900271145 152574427 200390695 193367768 840268447 837296839 348788587 951316559 204003219 461545763 668859185 883971014 984496176 567042907 593167846 783511703 982755298 961681357 276888427 620189320 109336801 430223772 234929899 635734077 985084829 536079325 142014860 258853041 648670321 588078898 293084424 811619194 958478083 405049745 386022668 932469864 616954945 641484947 132142914 586415364 209929219 162027468 824236063 870003943 471717846 865097339 436596105 784396074 100919656 160411941 128602626 854273371 625981043 660974848 578864758 881646956 159686223 556144149 380493223 355434756 749572037 359810624 857130566 913415839 243378273 915389813 334477138 894171150 763452373 357457808 616582287 276812597 401294966 743446149 248865634 594864530 435368590 574084188 422419275 727307785 791416691 372758675 741502128 217670112 175422264 902964864 679318731 863092230 167230872 494128066 264253680 666626680 593199067 341906806 533689603 703811151 661087079 267523874 558368073 142517285 859888783 100602024 412054718 644815541 499311157 472791747 731313133 750434478 179531458 663884315 632709793 506086468 343904268 215868772 442254579 554448034 621606117 569783062 951688643 481590189 416225056 433317737 437237965 681065805 407729737 505888603 937920721 291264879 242515041 572335151 616225691 222952616 644972049 852798413 899074866 875101301 585805682 712505000 370300153 709995615 490012940 577809240 506577944 226735416 455274881 575132598 537856405 880574692 685594720 141551358 908584218 648576267 160534621 382145176 396063195 310187874 301123447 183322388 349636749 515074328 621732692 116707219 603320881 898271084 931160337 533722320 803594468 283713309 509329560 559980257 649096082 410518002 377997993 712282620 844756851 401548823 770176635 755969852 190717644 369275913 606143736 690943014 345629832 808040264 776105698 841416092 475344606 740054617 445526420 309109875 482672928 741066280 206755392 218903168 965571983 394103317 683077117 974098207 857276454 110616515 288804865 892846413 686100923 755402797 845190842 931875641 975602700 841812005 476697016 623424542 991898338 165917914 511644940 635243478 886375881 962870766 363549713 287138128 261931647 155093342 585236150 757564858 843239565 896699402 477689571 102748087 707368683 370168563 500107698 744360614 373567935 145677703 190160646 245223224 881318665 622382800 486759451 369845560 566990634 417425910 836746405 244711474 208275310 205940447 599354226 316248960 493712955 602499638 643470418 748540858 789946735 455421458 809040882 522511685 553547524 450554972 232326586 841418283 391583236 787472005 209186135 736871091 545204126 169646412 837668584 213045341 565737546 947237555 211908182 586985583 934954338 132607860 805048650 115991289 515067997 168143846 163896531 360491329 982962946 192393472 537715509 664637412 111206870 461181459 535298701 215378527 768696659 343132814 222649279 455307407 724509003 551638631 708233161 382136065 426040279 813884316 492579761 375407717 322667317 329415694 739888193 124491342 856407648 189346211 138944856 943277270 431038445 361178742 178395201 513016581 586419452 473879508 545299055 346697457 976688789 734925589 975037333 489487159 241765528 219046796 839584438 958470705 567040155 640951954 919407655 173663124 108075367 781564704 212886054 744358299 689447442 999449365 301165495 472903619 980439167 711948278 217034564 395997929 964535876 325680302 482365844 781309052 890077900 374494145 720199801 814229100 510458764 344486600 908447706 276129705 573273767 980329278 436312579 125469160 118983479 783813765 496866720 138435614 708666139 320975465 181979210 623850076 999264587 700516087 932228799 486614519 998017686 133757179 755913600 168876057 826188172 570780246 173637348 230664951 783427223 752377015 175623109 923048621 959738946 965957813 681732812 587148197 336359531 496118093 627769143 237087513 232039940 529045383 179667756 765698561 380501553 145139181 537767094 275080795 770517225 568673121 753173412 955465215 518085269 211983750 556356478 284715331 716133323 511497486 738885087 203401926 714830921 223341633 411300632 243425412 731607351 979514644 835929216 582410131 432754475 398223522 568211006 683233089 500728588 883390511 886331769 598290338 429461989 196253244 140868205 531630529 819916768 356681846 354721861 735552805 609621964 918729862 729770279 683820583 972666107 642479957 278125875 933537698 513356054 285066582 792616141 604452401 473709346 604968604 383176178 935158212 771940587 923766040 320870815 930686008 739036096 450040835 235548335 865735068 203637123 759451520 845613612 751981448 600322521 291733603 804900983 724380867 453024225 421694434 272993908 187625807 193218595 470711942 917021699 905535066 190695855 163193927 207419840 486562872 375279787 356501433 734810937 818136843 826299441 887857934 665370363 330681330 458798071 975478074 628395306 126350265 535622440 969506983 741453905 552508044 266547588 726815306 197280766 226069555 988781728 554240200 193648900 558644414 332230862 633824051 441467513 474085314 789364840 521148508 261732226 465873459 285461146 440612446 529965769 959602693 990864432 260366949 729768271 615375611 901081649 866244721 372873926 684415386 506722974 857544152 849196733 703434544 344592641 969342095 214635260 307577875 757488328 982204149 915162376 683878670 231470668 732074314 870359548 830917776 768320725 452356457 464476459 143132490 661244046 476726781 484520339 562778781 816437830 171548677 846820552 893362782 286271910 793945030 223866008 548203322 919473503 519758246 821703198 331933650 585807012 386402848 314788062 951093841 664542215 499477234 313707779 770070969 533728527 237318973 572707290 440507098 190694974 992442176 758106410 912500290 465582494 583175963 195360939 987100650 871621210 779094184 406984856 808157225 130284290 933349156 903462076 711471100 726962726 915280435 879660827 376996567 853975103 259758936 462076122 364513488 741013943 327388756 139151690 156483800 937197871 683906182 255948803 265418575 540059871 412173088 541322511 764131419 244427601 799707514 467201158 674981352 621298945 210193911 333986141 314781378 376897846 749918328 428475433 533623061 942583272 202323054 589394612 509253879 815532172 124838793 407436289 249754881 238991722 291357788 581841414 874195831 918509300 985810857 339248241 263233641 185650533 570744011 665573906 725413750 140389835 124241496 152518971 609473468 623548195 840651581 808827231 754450005 121278560 451904051 666448163 433921998 316229648 610155080 814563836 550921391 537065554 244664946 446934016 480663185 110302098 529140419 283458941 424755969 599454358 112779649 899548636 928195893 824998094 142470966 260052493 559720560 290629810 966778935 635738051 153377706 756969586 952395621 827124996 402862900 786880761 634058798 850722097 967445356 113824562 822819920 304764764 364599033 465115632 633777896 620877676 325581405 442466316 741868748 230174642 857232604 400664924 463274484 296443690 578043724 423960741 746391909 986032050 583589123 753340468 346622917 982404561 753823312 875334679 407964622 216464196 571354763 869550147 330084611 427205110 866968429 324915680 303438816 708168357 292244466 894207040 995731629 702194121 408954777 786367669 804675808 119309911 207431729 542839716 360398971 665104336 822022460 581067123 581922893 550594296 530970085 514600224 448664704 252561133 661273267 517064010 172762378 457401636 742645300 986883985 155617565 955447049 514614088 906147261 492400029 746127903 412950010 620660362 149672516 849422889 700628765 791758980 873543247 809851513 462503070 226412952 778345002 866386124 212039134 334596617 935573442 641940251 506083897 762050887 758488820 779294195 768131102 928952072 352313523 510059689 740689782 261492736 911829180 614695452 999282995 821430856 610606186 241264254 339653726 220339354 105540971 582271835 487491437 197323304 453663732 303486111 667584280 238162965 306122058 662279974 745975637 799758342 999880578 937734190 780620967 766614688 625692715 352637927 744845076 285261873 852502051 592867941 641193550 238163148 669121438 800387663 939456138 354771793 408439443 337916227 791288241 669511876 561080834 857496688 718956990 667007129 968305157 120627566 229565664 286689548 439877920 730718548 366892398 452985568 742240201 237283648 734154991 596505932 110259834 378816476 118050420 480427953 392012814 129736440 120129171 892732323 984623774 337894287 788297115 989221654 428397763 661525156 274743104 785367298 577866744 878582572 796083930 275774609 681806603 750905812 646619737 998607752 633907525 249235683 939975428 103141131 139288646 921036196 675026749 727941723 758222891 167179776 369066874 643943949 866876515 271436691 650355384 201578735 783609899 243333452 628913441 865824853 881501818 224436053 620160631 177522579 994991060 557251673 775971200 496716743 562683605 198172168 884047878 221451297 805694120 764783160 676554141 997145240 315465753 563454323 335014163 412334709 468616660 411577445 539582159 815589802 739227559 821441513 752789274 139982006 704536014 812976446 712831054 633477932 430510985 886385237 141664358 352484989 389965662 822418532 440673471 808138999 326727518 838675958 369683992 415183061 432661395 357985534 679649592 790077812 369708684 921882747 546401616 215620669 718742108 953234129 632804534 172762430 172002197 380945052 795026069 360576266 914484039 879755496 820331439 726527079 929100445 694427383 583446541 406999243 763315688 819204858 691603912 621004223 223372966 335147330 713932490 850093217 144871023 826951963 200566234 671663361 269823691 975035736 470775905 107959778 968348994 669533789 222699083 325008043 918898939 971194457 168777929 724283854 503523335 460783726 199751860 574293685 419449072 275620255 341714836 785259625 812678105 780387668 514896668 472025203 107890395 503836740 512959160 396730323 443806989 944120647 750691090 873603142 656671406 937853680 436560123 110851414 565872235 629484656 409773835 635217035 141977711 174302907 580806010 282975680 214049510 132137040 229723845 664676816 791519926 364885489 617813359 118754058 559281129 784703543 151372320 306916269 901387417 648379205 760941929 921521277 511373808 545929090 710036616 307328010 812549342 595683941 433683717 520861831 709975153 133279496 113217069 675374530 661331174 402455059 369517846 541050064 879714278 761203890 232860975 570400900 560544747 888453631 999835637 335005872 629730535 450705789 222841255 885928956 417634929 885746388 705589675 764636131 279456839 259013395 548755894 243789344 554962369 410274564 195684514 237433856 846546144 462001621 611657371 815181346 909492231 361550559 175319696 871043861 585409410 314041089 595834347 624263014 790249757 509101239 985898813 562161483 963183962 277315552 824478152 524841075 865330977 525477291 878245627 179045696 496281154 361960467 737586852 113228421 968950525 749271822 695204510 149384747 631344999 536490267 338332793 293351552 110198529 187136751 394443739 717096993 361628453 737745907 395403968 985614812 485787687 325142937 489018790 667202176 387655626 900449155 695316657 976055083 492779516 565362031 741995785 748298630 946747821 596059779 320520265 434568200 788039559 754984111 444643329 253376712 167710127 588801455 599342396 390686415 389783787 795609094 846545891 411666640 201013032 611204892 485543452 415260401 548461876 347067336 339051036 408203845 352803059 974656611 140093899 613778455 399017135 893181048 928805880 590699469 366464838 164185890 398179080 117937207 642869427 740229926 126156750 846273195 703330777 844712387 251062255 326984392 345427979 898433639 386746818 185227038 923244548 391034448 931635474 447419882 334056078 970539810 425172373 236870932 881794515 318480991 531565432 339559362 999071547 137820736 763569319 394938367 399690069 932687367 650409234 425782102 297953522 807024581 403578140 792833415 448926485 887018251 767621025 728633479 479057186 935172837 695261945 933005985 876941248 700313142 837930189 613751749 891734207 240218482 125363011 514741474 745559931 531774786 130348891 217866200 161454404 943848264 141156412 630404907 775378693 488006768 819309578 656840120 372389109 860280822 621018162 707177515 380500905 458616339 751167222 327522051 116369759 396194045 533633773 104481739 699445157 145052253 282843761 586699564 791724992 593763318 736445239 318098722 339893936 367425375 518260922 578070446 779178744 448239629 415205924 569720555 224792405 805241966 767877382 371196948 589436493 925769323 990725738 641060825 235889569 117217339 149843422 244931899 948523396 683613390 413504826 381010677 119445380 525436603 885575378 995350306 914997706 200039663 342724053 246765802 140679054 687829992 138363726 548546296 307700690 517724678 213157780 997051625 399809401 221443654 343633658 574985403 151486175 674987771 817677027 900218572 701089861 735774428 786981833 767841053 892947495 179747545 510487958 357160126 665334879 116617250 637198801 104835728 806559259 820503662 568157543 783274065 102322095 145107219 942951232 629560334 197155127 667777677 262651259 176008169 418074797 621176150 891148566 895143654 698500892 476493598 554862450 531060750 872782377 299457077 720542704 853119210 604861416 245287410 438797726 728052038 649182840 735384178 868005613 839977936 364681030 507969850 418209957 500931507 907917218 159282181 602673141 807168274 404308136 939120931 267399099 439028671 568867506 493990541 531967409 522550179 877600654 170373920 650384185 949836769 841529552 458685434 259589463 507239248 922162990 582268286 852400260 941602645 889363853 162423215 535957413 706853766 809742980 364066923 210688685 530302024 982807884 118700934 271897426 496357268 145372390 209304969 402563717 709813003 377278441 879651760 534496698 176367167 710090301 554080995 448486461 677002380 944159544 645608215 855824745 570691219 950580664 260959901 959080582 451363395 263230958 654355160 105673872 399064048 929269172 392262073 414942315 974684229 776570189 337259096 413758233 890897846 577691288 973518639 729789908 696259923 180984197 799245634 783039003 186334087 923715245 716989889 549373502 440018226 236173202 552273197 549535535 986902209 873737323 794481403 237139487 892821093 707613142 518697473 101628540 670073973 771209195 569311805 243915834 254082176 777301050 218340091 509709677 413896614 384751446 608497221 917018381 432304642 440545357 348078014 960122106 259389273 791072160 379315541 692486666 854213710 800734943 597082801 253818300 354453230 796361886 792379452 590548269 579255018 573766572 106498800 761901293 525110446 806349999 957575713 174320918 180350461 102142425 538454509 590332699 202150922 703610102 167228097 939146564 364997886 546448489 465940434 559725181 463166052 638602542 890615749 975611824 344236466 594668979 813102060 719452417 784731110 634249719 501216804 812940820 262113215 575643654 583470518 402265280 210179984 397259506 587258953 958894034 996581126 391034408 530582952 308933663 950466299 232316636 296039966 913389161 519228813 918890139 469167840 560645590 264696275 501304077 179599367 248948153 202784557 307849346 620649975 959835856 777030727 322971507 449564897 427221338 863722591 463772535 203216646 847054027 567157715 259872717 649420904 406232987 449494235 730567041 410732088 276935028 730513837 996974905 329657902 881288019 454957216 520677263 308461148 650239367 378228586 932450445 848322822 395156408 679105172 442945199 696679206 210476497 288650002 660538436 683532286 476720830 162479346 625854102 644239506 719614482 185575456 671970758 437507083 155448393 393523769 583788096 320289593 497938510 754175406 762994909 785784055 893296703 979608517 222885329 905251453 959006251 615199930 472297739 842954868 822601984 642410124 634477102 826034040 475960024 323887711 361854334 473451777 269111285 498017851 778870964 980891441 253392682 387180740 860379421 817849286 780060699 960553173 317131385 441312229 417487647 672996437 586231275 471043855 809441305 233600851 498354145 780052559 649827436 987108845 902372417 789060499 217485123 552521915 461136261 381998557 200332368 535160445 192041676 939692861 515134754 923450298 647974217 933899206 835468407 525020119 990043615 392154056 632006496 731427310 993847872 900099020 611010859 802749357 988656567 711621399 348227159 567483675 391652433 952770509 266545671 465103495 932729167 262715108 423565253 367480542 736922758 335014748 740433705 832956982 683763399 741873027 951660452 415218893 981477787 644823873 896406937 742008923 880695923 743565528 382765373 781250707 638064306 890266547 214556240 628744812 345078124 839801045 366719928 482098407 585409266 612897178 224682907 477096019 994321824 203379365 508186757 658757708 668032927 723891487 657936268 360965982 589477181 304320795 237774483 515996327 710717420 598290327 296333576 199484582 473422530 128623906 441753786 295467647 845313319 881327410 437171932 937329172 983248689 697061582 940097463 570039183 403650871 562880607 458917325 299547670 165320349 789597197 347484910 352235853 304462151 837358255 895809686 568423718 649533244 975440187 742159094 685248520 877488127 540638484 534190013 691585076 756294140 712437166 611823797 952767062 154756107 746825660 138936147 614261681 172960920 616787671 849141278 159743146 779611964 311203956 102533012 644068848 785613433 395685143 857110633 746831062 216296840 167520971 182801901 493028990 260352479 901222643 500023790 869676326 877979324 540136264 836186518 545884189 603767499 735924886 684394769 446644225 888329398 336483738 805730891 560288115 425332301 676211198 864372230 931338758 543248195 428853111 269399718 334832350 417628201 694594734 549518364 859024899 104606664 110343983 857100248 825503630 805294439 246628019 326097029 124685087 323961338 986226206 177401917 620770478 280982925 262535257 751514452 802332049 514105263 963627351 978047971 143397825 750877678 201531744 287045056 534369991 746031296 652156274 772957968 774316342 249941671 683158404 269374127 674061252 851370434 978772173 131753253 723529397 971305814 907079987 529294815 539083076 138627029 868766213 996225067 251726311 167718308 902849575 996783700 139827002 651312199 923452511 261817401 247348165 743346634 909443126 941448114 431939534 379760842 685748517 460149918 141674154 147308817 416395307 529510009 911712077 765247891 250607666 205888614 735597921 363066283 965524877 986553789 306950189 875937229 638117560 263626879 635986388 156828200 241994127 436034415 337838298 289126794 627368809 138185646 562703309 724976099 139418252 991460605 152182044 740617500 471285473 712928667 937798046 268169586 610625551 312206326 574442371 298554819 920691054 402970612 650248617 121637848 688003226 476527590 855467734 152517048 545603871 131350859 205182878 455689296 408336507 401320193 674205803 529678281 871244142 656590870 819434820 297753785 139327487 583251459 109521998 644843432 527637699 896560997 332258841 325944939 307246025 906348667 249230613 473729728 715827329 180538182 983065647 282801985 821419193 249113473 438819330 615050221 557102194 107320915 830484181 437066958 269975025 352124258 789499813 687435608 318218336 581671502 927561327 410004193 542391150 211814256 807676597 284210033 500576603 612289498 478101386 655391057 934380408 115644125 664973428 731608281 118727080 847882601 559664897 405325507 496522488 780482063 880392581 737295844 390048650 101176857 112339041 694341101 473166701 600437495 911237786 749687797 726237316 408051715 388892025 946433815 456628016 893934410 963291294 225873976 205346488 122373132 534723708 968036950 705534555 207423152 405197162 503633249 988314544 830419125 285215134 636331280 317469106 809653196 302357825 353733655 125826959 635736902 540625700 114082934 242269995 994048325 608422267 317018415 952200126 777502627 201135341 312093455 318922475 610663613 830974895 851544254 840672627 425634701 986225274 104643092 351399658 564293432 684490324 562129789 994183094 704086817 840244915 495372769 841164241 497832163 643809339 552373798 427369485 211461447 501494993 818183585 506206029 367986843 649983006 854069913 482946403 171119768 229785029 278708453 360888879 314789760 929689606 598425631 125474869 553785058 663837268 576267137 259971861 715465923 177039516 358766339 543039081 172440627 410628299 695990278 262992865 975777191 326398767 907199539 749644403 407123926 624699562 668905275 155761955 156531044 923260198 866449614 928988594 297867424 492447398 975575071 459009055 830295195 422042860 967740539 800155282 171829349 180194694 984148622 365339226 728321010 435324399 737600084 515911840 619280700 974429417 361982594 932217336 524092246 224427431 890758464 475907678 428727560 641966601 935447255 447166834 382158114 413680503 565489111 949640989 760390007 491568808 807174357 575305675 314083364 715064932 478115623 433043436 444499747 638946724 175146568 823856040 287828062 900102176 616975489 651581329 660652962 699413735 416766128 778319034 749687709 900211455 967069761 356008803 223794440 959562669 107959334 400859229 222283708 602006388 364078538 599079872 662960984 523200211 511594094 592409081 803485964 258151695 344633627 426689326 178547376 765198645 514328964 938984469 909821811 731446166 154099423 358175715 965181840 840307441 746941791 392369578 195066864 786240332 994876233 568255212 733314144 292605961 283412927 351981472 666814435 908334286 129082355 229440371 372987787 495352747 410240275 943339511 698192487 398098969 714744125 995691801 253497193 500750318 817148177 350987594 299465346 880369981 583923502 407866985 533988911 709521148 573801483 797563774 249388799 388344955 690382762 891843913 411514411 862068434 978511514 463895998 694126826 655218049 714780260 496864841 373528886 557718851 890696360 807415312 898795016 970011721 425283209 325696244 198442642 477177478 848396536 245148422 147848983 903620277 119773890 858506512 298239758 651623418 885174199 973130682 678235129 628697578 130480885 806709379 725481824 898066088 772124034 799159837 317828165 474060462 270992175 927846224 226799539 365771118 387079894 362166865 639493749 626071795 940662423 374807168 958101557 969982799 410567268 811616063 259109311 640306210 936801797 221255767 106373518 190802286 418899292 685053797 608683621 305963656 570120828 649654496 867522092 986085126 899589053 438522547 532090319 664406544 708815755 114385292 119278483 984870969 521016080 225364896 424363606 430654103 275385715 130307694 454063790 612764586 514515187 119498842 247377454 366227620 952455010 771330744 779387222 297506930 553962017 680090638 130458064 751498578 871525343 263045642 758710374 382715333 696727535 185228318 415771212 912301839 603646596 940421747 963197160 396253211 548666793 509589422 874332151 581683961 411758136 964328878 493486479 385493733 467468229 698043881 135980066 911215054 128157864 400085649 595787148 529396582 783175144 297088320 501482132 448412112 587059015 642834444 165458548 790869926 286736620 984363297 400257171 357372942 337653570 557264881 813351507 127877636 147824256 869739665 185201048 738426705 941331075 228175837 352473357 737545285 454479792 101014187 239316900 357272422 117585677 411108095 560391893 393298896 221690814 487790709 991291762 591595288 246179585 224006340 175623795 265104118 659503422 852770128 374310638 582092606 410209424 973493670 293405333 863866897 277759993 971974894 304470845 864877224 303944342 790144431 860709533 827604520 630369913 505720878 572476613 631058256 324951692 876509777 500928546 196251706 295606013 264962348 951387497 993266106 463919690 244149355 427796311 915928155 296482276 129794093 444601614 724603535 250474628 479334116 446828007 464566453 971700607 180283449 371886614 228833220 862920470 162798160 227857002 876490502 455811169 213078123 965311445 828439093 462997534 221054878 373688727 671406709 903179196 991796796 435662024 494947525 588679579 612280017 731222372 540261987 412025061 556044835 736248895 913726764 889467674 224869904 841864432 249194888 919562085 311528014 135044500 924427677 854521618 879566615 778211735 950078356 279553843 362459727 288730538 943402248 633689182 502034914 675949123 509289787 450354148 780816538 743310772 467154738 748692332 325815693 111015897 416087155 426307347 343070777 280892743 134490224 481988101 139736439 585242923 695745593 402688104 299129291 437609433 104851686 729871130 417715894 133284703 235008162 759064291 714377759 147064391 525083651 960317642 512801732 128043377 585284084 358473557 359597679 885379561 762837391 896685229 250668491 104021036 217775909 767123277 420023234 148258100 188749556 169724445 748660798 344997830 625216466 655627774 479133245 290730360 102985560 596623217 631608909 180961704 858460217 160126429 511082399 280674533 745561876 447615198 953402655 934629810 879622350 486982938 131785868 734609264 615586953 670716861 150660695 248215043 113497603 568800978 974237646 646194036 596671870 948920538 145689842 807991895 880178203 878841741 408151514 487247227 788182134 461233917 535664038 426685571 973103617 896507874 893266975 562624453 642890918 992522690 906849611 324024462 514209199 538489174 888464769 578464722 885668543 664827768 169896856 864198973 680098925 948008187 963394962 945302894 386549235 754440011 148888779 186815012 460156819 770910426 835056761 452149648 807378108 897096366 325271814 695566768 871489410 357479477 231674111 369890465 206647372 438923652 155220196 320459454 760170361 657780804 392434166 849574807 322927287 767369028 381583829 705541443 957494103 135241588 618496227 236340383 502041387 909579954 858368073 331563329 332775868 593667562 196514053 815696498 356249254 157242248 315939111 349062874 429911785 926148087 313155626 239698907 476494562 904235957 128762412 799617222 541724164 702006998 479585090 922575812 844640411 302182878 847517513 347957062 934551446 696752544 382390074 822270794 212846279 241157400 805500407 134459808 524570818 752457323 101396658 277071342 243207101 953368217 528151139 806493778 228183335 859680848 622677825 367901401 340073326 719496717 424273923 344588182 915490757 334692570 599263939 714283203 507762776 686335906 573514989 743480346 649504157 161353128 153081034 516377647 951135473 585131670 181854413 343911516 803414922 896469387 375164612 739141722 674072880 159674476 249024147 763999354 847054174 341763851 990599622 321497573 461036161 643887656 428317009 482099872 697570914 822981862 266899910 202666697 391362797 135621821 167321870 562448405 874733812 519932823 200125338 395160307 798164209 239674327 782275857 986606001 693017232 475035082 951690906 846878987 215347972 240638903 614412907 942043925 101129091 640694761 233590443 622638422 699446534 847459371 433596980 629889091 967292569 943720014 611303198 581278746 734365247 849459032 408416329 211620176 264853230 963809876 933551675 741012777 964421781 465731393 627962928 139306058 598364664 394147975 988923702 141145335 313767418 830894643 752011972 718745835 497504918 742159512 991116702 551909343 540539254 667542387 628849527 656991509 932273096 593893619 266827850 945655669 793649352 197365653 860173176 302048886 212396769 507554803 292715756 517251996 625941963 226574562 583934997 933093472 630634827 438257285 736275212 761058974 987810394 540495707 797112725 261081223 193124980 333214714 315484223 616409648 239180262 571268528 391634978 531463224 824001782 494334321 351315119 782248872 382894670 559665775 428776748 656409635 428100299 153331020 357860431 816555581 981944857 667406853 536464126 822885574 703644385 492285742 834459551 252414711 325221523 404149436 341563076 320983789 491821399 586217167 776227109 539417365 196299067 492676858 301011515 871807503 145902626 153662515 137299755 595159710 184935913 305101604 579691464 210997748 659361685 436504201 479680817 233711921 459748508 847126605 224062554 874203189 143214881 685133231 310323351 516967520 645428174 883450230 662344446 605707164 352024070 528533861 607133979 673934684 669222638 340501999 150155486 465603149 777779674 689466765 664456083 796173768 324357886 143506513 942317978 114094015 424400660 869125839 842037217 978380081 400328816 964152720 101295988 476878503 755326202 476815090 304224844 448771189 157526327 797461075 277842359 694881239 976814031 217132307 918324569 542652410 568687569 208592006 402427644 376739941 768071123 287142736 953443650 607534738 917833784 222821785 907059133 376810229 647019985 346384006 351984820 643156577 147684135 740417106 758979433 769052814 333957868 244605107 956001618 865986071 662233312 520640806 322166702 411223941 354583206 840864475 447582447 193336472 331944160 654226664 678004189 921407640 330983756 209904124 668375618 752328103 827315532 556157221 505915645 404028357 988010815 997020984 246677934 787718419 534467239 176659938 556591677 830304680 537728535 226359337 655933846 392584179 760649657 884055104 928963542 332215446 838672957 189198685 911213380 785810267 498812024 693786632 240211320 624555447 649538705 233184286 410461515 911888578 946049941 729322197 479383233 482852726 518695621 759615198 637656411 912272005 644562359 313636246 680454593 133188893 413661132 960162163 457078149 628140408 421709094 339554688 241790067 558432273 914721901 967323491 346792532 126285110 992194553 372962556 337166675 616837579 643235859 850717516 218082275 205015304 863037015 818923924 250059364 887936758 553912951 415523038 160389231 990920170 454149010 231502987 852087152 867009776 618390503 557496965 271597266 763663526 202208387 762887685 408341235 557418601 121768680 188563202 692739188 157097100 185172177 557740900 118382186 268564203 122351933 596220241 349264502 877853743 489280346 440609064 366233582 218405514 535975171 463958242 654238786 946690484 170218547 917260905 315101075 393567132 127179824 811870208 616044676 926950086 594852733 415976456 668792507 864217466 915015975 592136802 246987800 305409462 283894523 649979493 680612512 830461487 891183241 842438739 124295371 482761459 708726692 486189757 482904638 961296737 404883034 407361136 299561358 884498031 854261674 197890669 707876994 875236026 548194180 517348542 298355089 567770275 919192406 919007983 135654607 821689269 871386246 176660863 885621821 360129476 372165142 798174804 188764361 807157976 741502360 216694549 934186166 935239252 933232718 148201593 168939301 732789871 790447482 574427430 338381970 322736054 361134399 582182290 108197583 778007960 428762457 425231786 167058714 910632215 770493884 766590604 757678954 875284028 648356108 250105562 666212389 967906054 155175070 770774958 665936241 168851456 851970761 810723854 562430105 816857419 646094180 199292163 557821183 323417628 994470989 789276262 232451420 828993265 606138568 674843494 119918780 812291092 935148196 930016099 397822856 194224540 489719928 347516453 694330295 986616954 261316675 504384998 375069024 359647514 835109538 461886876 201884680 368609807 500146916 840414194 842213583 206951274 814750156 502030304 465700684 517163331 392208550 671970471 249795236 336895752 343844710 192062527 186580939 111613599 625161917 645094723 151628528 491606768 258520822 708590261 775385678 403381934 100145405 125777763 851534875 270956475 721930753 862687931 376813036 683507889 493297733 951436863 974720675 662285240 374645951 581737410 922739222 847940444 762221089 960766255 981683322 217878978 784773425 151932887 942779030 437369210 855373706 951114515 823705412 820558688 596378838 695348354 895986808 679960664 824696436 159002961 559674715 445385446 231869967 344624568 684586447 693944913 784336310 881638659 428606896 623612244 933451298 301793955 161689150 788843066 776568463 507672783 268714340 835636341 335059630 633731117 776244150 555896548 609157396 329414167 354413238 371181117 351669836 122821520 727391824 931412283 871379066 800264453 429569684 420745820 564084365 949851732 266935450 713091895 491742226 410865579 353620402 915818049 285092092 118618163 717517222 706347273 830313474 278470683 970113305 316688599 650363757 167714785 397066365 356466054 891936373 746058595 532433477 347267281 521316248 452308700 684486439 103683357 929620329 148130107 593803756 354073694 136378939 656955672 159179461 853111754 193367613 764065143 968108969 270027670 658536733 676377129 429503234 974276264 617342987 456158372 175444063 909515753 359988978 410601485 887709953 242731229 346407826 872834055 461082571 641099296 790695866 963342407 891967567 611396322 160088280 350034487 555823378 841311092 571103074 233786727 235698362 393765361 939844835 891755226 666782760 383792807 527620872 326287631 923387681 571062511 102134451 864554691 738328530 394285069 513104670 443852835 495543050 868468708 896635745 169004335 490973647 440793146 597862971 716090523 649953100 962216708 347515550 795043786 843899750 624795969 301878726 702832737 792786304 924848510 113091535 822727231 475647374 894772540 428811781 743835778 389886249 365472879 326975838 217865339 107464283 453572904 770666542 312023154 852584593 881357431 311700890 864322405 435553771 357799948 824233099 295403666 397411024 897396093 388654325 117719159 700445023 544342257 740092404 280855049 971337433 123482971 617209809 764995172 752078874 463806097 838835995 646875263 831957912 452929889 565502681 863690116 115775646 675912331 640372118 802015701 115329189 913074949 704848817 635304998 574295633 133048357 442503488 989517665 635129845 520068974 549406369 409111142 637077649 135013839 139360830 985349330 702846712 679454489 580805723 846155226 927313732 946215883 554460203 822186187 129701195 546341604 943114780 249588836 709153097 889706603 996122094 853513283 598865950 286922414 124681075 887141198 331005002 555582979 510469193 805007738 393454170 555100833 155056202 110530123 347622221 782511076 991116111 608684302 711139096 111562942 752571791 631810624 534441925 703973427 384867620 693174176 616338623 364329372 181174059 917340876 434778621 912896890 247855382 159567893 824014264 995577273 340685002 801250668 272805421 574465715 911156306 756005282 924233163 103374267 749778807 456316409 620912300 565136092 899486207 610190657 760371192 213639564 703955902 285236322 541180858 202614841 196936142 143297849 295817756 675560774 750793505 611674119 977275518 481394143 302519324 918917007 467366481 166455735 762764446 771072131 684139186 731409238 959081170 968637745 951457153 431905376 943058324 821113766 397981568 600216952 540126623 327529609 272961636 500267633 262350438 523033696 392240355 402827053 470008083 884593663 141680990 472605473 239122076 168765555 154721484 290682259 738488544 144637780 455718915 483279953 643447069 173682081 186708599 931967774 801225003 540398555 977201138 909478953 943206487 413415453 324025262 206652672 428865614 678120990 273385766 311712284 756400558 905440361 588216685 213171942 852436300 436113770 203021787 407782140 881800245 983084548 925427893 470370050 761153060 689021614 387021343 835516637 112862605 886555494 312651231 644044678 686063297 829516303 974523923 425858053 970830559 687536757 689667475 507146084 442929221 376647578 743712642 640712941 201898078 340410593 703143404 887154176 116703327 554090561 468053446 717413448 486228733 382319821 109842653 364853521 760659620 545616253 466272234 481408450 118179976 514993220 736924270 783455119 218420334 200329614 177487770 189812549 180761817 941090659 401950351 161655664 125641169 241964792 583224084 545100851 982390784 920466710 204849619 970840579 140404823 471215917 441071649 411830230 313624898 192321379 631455389 832404641 475663867 147312789 639709641 479282660 851651472 219773843 864474837 476002126 452559067 178951890 802352429 487487297 863878678 300971098 572098331 384000284 444877715 816883216 684531413 929646538 126113958 584516977 216325306 766600370 388909920 466718015 841224755 582349653 410078696 899961223 608154640 771100566 956453787 735913315 848459582 209772468 178781897 512007142 275721623 636005719 909805824 610667830 302715227 531206671 817084084 709937506 773310580 329190943 852401108 191755806 417254969 747087400 611037003 965875469 378718921 740490289 706759491 170761026 777574987 871775283 469204467 749518696 165115488 430732342 551587225 217102248 597229662 466891422 765547032 358277421 440512759 422620014 354164376 214395607 703148198 767443585 995527771 523866035 140968329 820827166 342663834 224332480 950637791 518657435 857341984 691409277 283609538 225053949 775190394 322178311 411814043 729424150 353480882 550486194 109157282 192990862 105141229 301397128 460384882 385636861 169432444 974770743 744579683 785411583 285602827 818849489 453889287 305842593 145353843 342148582 293574329 988129079 478115681 527569975 137574528 109225065 625059857 505121065 373234273 578658070 324013970 789073310 318952391 306961908 628662698 849894026 500543860 338807423 533633548 719961329 144306500 355196011 730597278 533144491 883391610 258660034 424907371 245197422 493572660 926462676 751716062 257648779 598457461 413437211 237493665 558940781 264766354 304008383 889073214 429966970 520432479 136817039 817856644 573471130 429554638 714056649 585470105 390138434 556434462 351425029 924851366 237636803 584981817 591494407 985322088 377163125 575035801 310766526 451160494 366907292 326428424 283564737 983869022 351046333 914843877 937047474 808178330 655915070 967395023 499160502 129064765 704358586 189714568 633069358 654519679 943187418 302772438 692558690 637945799 261203060 217202352 681361270 296920155 536559692 209259966 249199429 654517596 467726345 428836426 137828116 717239879 176580146 312077848 977974836 559484126 909771044 324260592 869132592 780603781 403936231 142424796 676206607 617340022 554018849 171462942 463122129 588726937 430621507 482574925 784220662 204910089 197546074 675121336 963097852 144427646 338532246 547889237 678444371 776953974 770411655 167574021 932450872 476782293 596849779 390881465 683757027 973063254 235543902 319349894 318538069 566226412 145913528 606714154 418618581 462933017 274980952 246930447 238678268 954168282 976691568 710317053 438526870 775267709 869103406 670531233 941261703 340508864 323939462 444821747 824012037 914769072 871409347 792973001 327623872 478448594 841457009 176012481 803100786 573451493 897060180 585048914 430316061 433022344 126990323 701355369 303251535 114599173 852739472 336713712 911668732 518269305 681157387 501450262 510260230 997250149 154591728 741004627 326473105 231817283 766841446 866043787 816938369 194108100 347311914 209500498 928402008 684302102 609848580 169088869 878344620 823272787 233224045 274584102 470706858 925734338 307490043 319617394 129738369 493331083 299129168 186708162 272647865 760420259 226774090 632577879 933305224 827898111 972745923 163355103 107154914 201074429 765158019 414262605 940745280 647063380 985256019 748389664 835200247 247772917 426219249 222454786 876610846 696546071 981771177 460105149 905383320 623877749 471629720 919394631 336363619 214279645 709459592 552259208 859478616 567079510 788904366 993728473 678203076 351297532 146759201 636830404 914719872 895368637 519575565 170687515 875372218 284034791 913930129 372410729 450662292 434413977 969689045 359817941 635955102 949012063 343444268 303197855 323590960 479840089 515329854 322433468 341424783 262707501 564891162 960056784 450767230 422722913 624470645 837804608 340703440 488903440 993258060 549557971 984603837 950721174 334261621 438809874 379709678 678785215 414099964 936325823 170857246 856050895 230821164 966072243 536903845 454109708 896620585 685736620 907053201 965619002 185473594 911333522 151795274 309352929 415559032 232997095 249312867 772472819 831490159 246052967 697041380 307361154 960376287 505929416 922179348 471160978 835307152 386533583 820782050 631461792 277057874 526584224 157922868 350827455 163132626 547847438 645051055 334942661 263388822 111419291 958417931 485309393 294881004 912473486 593771441 493694183 595292788 479618396 366579941 680473515 162464425 384070342 121105912 475748537 472915444 846925959 244483736 605995552 830730585 958234290 193089474 559033470 568329373 766345326 513885929 179371977 343065487 634921699 848469841 352960499 807177183 935893420 548031073 387438163 597622925 455405732 448799905 711018497 937413736 215033078 691121670 195175259 663434068 676989772 737438802 594254268 682861978 901940206 865437796 961082801 549499812 957500960 675753379 330072243 917843295 928009493 562267815 401012655 402569212 808673655 340642867 694558767 279802464 965913421 594334250 510302620 216815177 675563594 633171775 737626973 748644541 658948974 834647481 610087398 531460125 428256721 314342627 747966772 658739009 238095288 238776459 342352868 473994991 459267139 656818987 853611299 333239185 411874917 871029418 917516493 516890467 574401790 188895945 804749795 364087737 163477562 916496782 601715604 265576204 358907238 511995133 879820616 967169050 119748470 699620828 387975013 378914473 818122030 742492009 682470898 548467054 964494065 575087732 297725120 365035497 542530213 810980579 913200030 570732350 838188252 838483210 531174664 352702504 388950747 836733058 198576889 364304458 941953275 252697341 106606416 958620077 264035554 804501682 716581032 700963558 364968577 113781291 461524305 202605944 123897990 390811863 646745694 379606956 765991241 820698571 151290791 773485650 170285560 426261685 673515332 560764852 116462272 732161982 887016916 258272634 831927669 417913721 798992134 919696957 537218735 671768049 106071061 284366949 614127254 736801000 957895650 522986951 801971357 982572204 135829012 713568018 840959820 162580112 371138775 751690631 511649560 137960325 658049908 249357811 532006459 908006956 429963628 916854036 206504537 853774367 416048716 249475606 114300724 659613750 675058135 416302576 458843200 278656189 649263974 687442885 117051905 304924669 576547273 725812665 187061640 491088809 730143195 888332298 723581460 663372210 193541957 301961261 175414645 369009055 697006539 320844184 258358312 127694040 744762195 276790545 115653112 363701676 429893084 905442672 670572012 382230209 374820555 675617380 226725866 592319247 414857286 869883493 442661806 325202851 912182576 855977420 640006011 161987498 710214499 613464932 308592072 796699283 582732056 588364865 675970000 790815378 881714400 731337967 526171398 451362766 565519202 715317002 397411872 520817317 327174758 980564241 126665528 540426163 392503548 192405567 757532596 167110477 378610412 139507854 932011872 176451340 352325667 430629711 670150005 312067528 786643924 903889320 889960909 529574973 788230170 851460340 629886292 666224336 687874843 347181500 442509949 981814926 222156435 108211370 108773954 226710199 661795925 992728548 667285921 458613487 231650603 585004871 421160836 655925214 337599505 576619444 444383190 634047459 377533994 156331524 795520916 888846859 330120113 191990672 569196731 210285267 965122378 258629257 685340583 311348855 356095229 603927120 549994305 707201709 517948115 964370237 478588752 569012333 486927035 950871328 338686025 797233216 493653377 714485031 521694744 954471789 981716678 900232688 959990316 585329547 297843754 824849749 208203083 576744730 677189510 499818620 886539666 168458067 127848661 334210264 211320296 862910302 405214516 921872531 496974427 188966771 599001878 290241576 197459305 742736883 869025801 432700179 124987963 248281457 213351308 422609588 221673004 351974740 390735066 977413241 183567168 645919708 944045900 317962844 782549562 859269939 404780087 260765710 955813613 535111210 919591751 643244317 547166809 784413701 924547322 809305465 647059027 775554106 754537288 667651305 121410310 447485663 396150156 241337414 762917459 533786846 586719050 624628256 390192677 549555960 521255587 683269283 963696980 690570824 476213493 872230273 420775971 492629471 998364857 564228785 403405312 440067010 176104031 881275352 967441599 937695287 661220246 719503288 451666772 168219417 330558131 336465521 440030662 401853127 222999234 710208823 671583372 171866441 863826737 443685901 837968667 723281507 829483915 424663686 192944880 195855405 289726439 522957765 924696019 384217470 692359707 134648124 268614035 573464511 373064195 470161781 220955522 783338777 213241658 521026895 112260182 622394394 762328034 425920117 927059855 976212222 828073518 142587547 242497362 464688865 124199476 492446433 324727004 808416857 686372646 884281457 561313734 423340543 566061359 296507986 403431366 487879228 145697306 974267467 908504753 695140806 396039922 945122660 827832076 716545061 466062037 603944325 873377070 182852933 154293688 224839923 414388961 592845971 742791961 244024069 360014244 721990341 727138259 276479811 511740129 158643569 870928263 948648379 548212670 112675900 907810013 725172610 260217843 372362165 453131751 577374683 820766346 431821139 806118633 300150026 819262896 826461093 281337287 482698599 460903449 783496021 574576997 524236296 270465602 144361447 826504783 350622111 480837335 143179399 837855437 753754242 337023070 914013856 390458056 421176482 825890605 788030857 377125567 476712800 190354675 652257679 890167325 232450720 821400381 559435322 156743944 585946212 710986874 311093012 759478343 276718902 921225086 182168557 634548900 449542783 566607194 917083533 556075155 567703891 870005832 634994483 103784896 933816208 798137037 581123801 499068073 212952873 863471042 646499185 633118705 620384098 806891954 185068982 318227373 535584559 214497713 719612951 138013023 305735330 815127598 713050883 380742425 943933560 454817095 523214428 967397664 482632982 908110685 574589328 132290806 445381252 106766257 307603710 245039685 939560855 806805871 685520914 746903731 218178555 678057651 808727510 519805251 842481837 872229437 677016845 663609468 149982797 769577864 403901175 414092775 419336362 322535316 829778512 690667999 524949705 203067550 809146307 784817361 976303057 862582323 250456780 854696984 514843231 915876533 210115121 484602084 627368580 401189658 404205289 887102445 315471569 347631935 200385919 708983881 817470807 953650869 745604700 404102831 637237252 231976694 369633176 835320090 551417746 167805488 921756954 918280677 296724518 891206270 836413161 278461506 666152120 647232922 226040137 855549281 774818336 577783899 394102509 902726542 599651399 540834913 716934091 799798643 594458630 886596118 410905614 337407770 876612269 906873888 421117912 891757985 515631985 397530757 873647300 418257384 423111686 147199103 934002310 937090863 707405717 277521774 933742457 687145849 386589276 533147145 225873606 221143539 483293966 645933924 754497776 608593979 299377100 920051253 623175696 241715749 843083206 468009984 340025333 187268949 341486971 277704450 115424150 888251871 480619256 567533115 400499141 521738165 455962275 384110119 758149129 288359801 661823059 705529779 189421640 183131824 835895097 486558159 229195868 295544991 100164206 522445705 678046065 193611658 331577962 152069928 269353698 822122299 428077047 782833099 733743140 403965350 466632903 310024047 747533133 811019168 224344777 287363004 796729065 644398377 322944396 288450017 727958936 895600286 717547064 420338858 878749195 949367328 289474146 638891536 416506552 635245768 926621321 256492594 742733892 727028472 541951050 123131065 186380781 903576733 686197916 506729785 438173752 696366592 684336278 352449402 739461904 570518784 666538481 535567553 129996766 371628787 399707078 945699387 202737027 153716809 888233161 290550633 759917315 328639847 448992611 417248254 920249350 647019925 216404726 529217089 852249224 238327992 796104424 130799433 656061327 908905499 844613376 449972155 470003054 829766888 694187689 582997207 931379761 112058690 986482878 850048341 994632453 537428470 701220507 239162164 818272852 904724504 303625720 813357466 479807602 850041261 121981252 642366658 613631007 744482319 434973923 381204753 561398866 532625204 973704447 288927154 189712680 427329945 258957429 799907279 306023282 958724769 192326074 536323550 954965010 837991719 741937049 211384170 367739537 120204385 457833521 104891323 465950332 153676851 604738149 780633948 119796560 393568493 302693811 170695404 442653512 595659650 307987285 157863665 552831070 361791571 595770886 816745451 716976786 789346815 701239867 638663103 949281060 951037965 711770845 843836172 584227747 414660840 846371952 999563290 205783469 200417881 992254351 982559969 325136805 805979690 285682306 178652494 864797804 341402457 653289355 304000233 971540060 813675227 797474468 989979943 118638442 350366079 400594752 953443882 341655592 698368086 735886377 108024651 511301678 544920946 261005043 893884669 163123348 957365145 312331713 933591167 623202951 356312207 546384096 320464212 629096572 820548734 704296128 962660858 134695661 847990310 971493917 692278309 219827381 718215584 937173301 546507586 287479692 371640961 819082292 253918818 275090836 131590727 230056925 376463458 540630495 443609279 315083445 462633054 610631972 506283149 952729425 828572116 954872871 506433464 534613822 308164789 735363316 619205515 599635221 587996526 215403908 610252670 464848772 494939258 761671611 708838925 480407303 325538816 173985445 453890783 387902635 879669035 529129763 370910314 903419249 632630625 404231484 354684526 976247912 878456940 392186533 307608623 773432448 900016056 580458791 756610419 124161093 885696915 854047012 674714473 625386350 795178551 418594256 518737603 504000185 710839287 945087969 998900512 698192764 112952359 933421211 663769080 853924979 907364115 284107133 217686346 460876271 347004147 912198484 331175536 251516759 604767212 496035854 480134708 447393819 732986400 726038484 366813271 869815636 332496916 470534279 152375993 702660055 378529101 769738908 435515566 602706628 114271239 955955605 469833340 341488149 245044259 161492347 852072874 667163340 588341234 412356595 388354843 335782356 239769534 947624104 461282489 430775917 455936853 415186940 257231149 462292575 765450254 262843983 638467199 523269559 820327074 411401937 508478312 536781477 367435137 315511105 289147872 105353914 149697688 532673469 419445425 524552455 830367810 205192551 934861121 641820718 648211220 193487918 807582930 966108370 616101036 297823580 365286876 421252625 585983049 593122997 157358051 202829215 880688492 637599476 901092561 298131328 665071937 411308667 311787161 416901890 217101648 992423081 938686076 282786779 553468604 386350677 763118870 346860888 613566927 726930962 486038132 182184616 835563679 722827674 476717039 871684335 424802567 373035201 228291733 900093644 789745290 768139056 193846006 707228892 479001147 627448873 591831214 500966220 293558731 938198009 725696983 723549831 567304810 698648247 817764953 592659614 190717466 329357947 664631338 562190820 573155604 751058512 179789739 376245141 788999118 146423039 469969352 283168760 610166965 303141428 950634683 370172339 850856914 369835967 129862836 772045383 959702670 129583136 464218402 366840266 341096940 120654583 490561971 773187601 921078957 936947221 654133241 483476733 958527491 176212851 765650020 209777154 881044811 753607465 359106245 607218634 350156222 397777371 987839934 798711568 754415718 443127933 733332934 159485810 554191181 977827926 996402401 701730221 316788299 656501583 699107884 740759861 707883904 106057864 325251888 514117601 417087962 230403980 838084441 595232215 871674928 445343700 841788709 632245472 887978335 309543996 576639190 976635782 876487250 247225899 236204202 213272816 339973037 866772860 368031765 954552940 946176430 920514652 327425279 766463404 831820468 335355227 619202766 374433935 987090048 853435670 673428424 902060805 317651395 556012707 951703564 958766858 971554235 333231851 235931915 419587334 140043497 802289171 329951569 566264403 503132492 361878621 130887868 957909315 326408322 455805178 456198588 367614413 336073667 333062681 779848434 561815370 475830441 273638575 310494935 717052747 605440119 119159154 786073240 132117774 612415221 126664883 570670171 628605120 592616263 710793487 847619545 311169574 829182806 121747499 611237462 734033163 173925144 956575391 695405345 598448203 917016699 345123591 998245701 314222093 314029200 827084365 772892872 458889977 565673709 184621725 184467960 592645451 573707451 224183878 858524634 788357874 334717478 330594566 409329474 609055015 769292576 512171164 678437280 268802784 374825108 205648185 696452141 184916701 316784504 364719950 153091585 748784295 926799136 729430695 152259786 830838176 443389882 926110640 648783870 887947466 902085803 610402809 558825959 556356164 886684120 582007309 499010532 816867676 940122864 453599721 210905436 150236700 956313540 242428181 513614036 333007341 922069313 545261417 297786219 441246925 795677402 636053925 667479844 607160301 918819303 675501122 230158230 450046885 384237339 234166956 918333904 241252206 725588794 621251335 178609102 606681098 787947616 596931873 744351754 204056524 969984154 841472339 449178851 253602643 956212361 919798575 903843862 761955998 805939217 741488342 925254532 487608861 487213955 193972120 973968955 300109321 774139907 614820637 619188807 794569479 379844784 770797167 735538440 925773176 337869598 830274093 848075299 157291639 110164729 677650566 881676101 637638679 454037262 724874798 219803504 784266893 782659367 455840253 685665160 624969713 891730262 221091663 225175223 243529628 856193152 172455121 446988649 683057210 602190283 380291593 874156352 522629082 283342593 651705715 328886468 479927273 322484943 332992731 168914671 332970797 552678149 856466556 817902029 415207188 363547843 200698256 436225322 520339725 783282738 796205099 227604739 987580359 660597754 110161936 130590145 259527111 575214792 668701281 644387279 866789260 470790459 592736253 145579173 902937937 512399478 776863123 875507397 601044197 290577487 480922274 271682354 821233394 839563509 955583576 637130590 828478213 452588629 827191652 571774505 344300359 607686093 602272000 709469643 555802522 860417921 775960602 408983640 300590579 782471922 804496626 584313150 688682042 341332891 610322685 125374169 507734291 137483124 591366759 189465398 961006693 928368356 435897417 464527276 953990109 394184122 876478669 522933363 693897101 820525219 677357407 458239699 126834327 499247241 245796844 808026632 705387523 278933043 720167712 625522867 137645540 798985086 841617037 412909059 860403991 574746055 505728903 147095170 100212747 475323128 503016336 976978033 767464487 280856730 264607606 332427854 154484355 154985508 984422055 871830428 534227683 677730725 665900704 128409029 760468709 748387050 279753908 190289072 210171371 355453902 219522410 801290895 803869970 661957457 353712465 886154274 584513678 290359818 171100106 344061159 481817888 754663127 190846739 322709739 991019857 263634536 999480573 815013963 752283940 609339570 297024156 855535193 633972484 988666955 586324499 864245117 412387524 856128160 652290953 623157409 885323838 366448009 459781217 529132315 588913681 261413688 539331428 864346630 301434166 536191183 570354052 840632268 790089437 492724243 559933342 418247522 741611750 293504429 209910596 892982694 573655574 158563131 880444894 230979050 317453846 396511673 273135196 720021516 111148576 987713257 594669593 149706565 371881934 691498788 265943690 627679343 115317955 997992351 549613910 230376038 304050435 498962472 444110860 545639013 617339022 370995200 447547147 459662425 437165580 839829915 897367427 498871096 924359431 985511187 748033567 771911059 161173323 100742504 988959974 721273711 713117070 690420522 363138455 670908357 845873093 808133496 463275618 786290619 174199140 318005394 290147376 549703845 823088670 436403591 964376074 278537853 699156157 759744666 778408993 638755401 963676662 815994736 809962702 243805664 514526392 915665793 313422470 358764330 185511027 609305425 741009183 902307439 655433386 676275079 532632488 511027747 930013038 523379166 837004693 986880209 685843919 496044733 953620328 656062406 558014368 415188273 316163650 325233781 910199654 106254465 332439759 680952510 961335815 106692507 105738600 974772012 711228912 494068494 452036449 330413983 439166967 710340227 984494363 767543051 214659480 507290515 744127718 195515110 376839696 866212849 430573520 896151633 624124936 622369642 258531288 711085049 989853369 687050825 162316495 127804362 527567486 144960032 385265851 101249780 642727117 940081007 919661691 358348173 988926077 273573623 339814632 332956134 639286122 765059577 456090126 399930645 158643594 724300429 466520291 862145764 503673254 284991660 918155227 656404886 284783796 949458652 109383587 280289626 186200182 712727310 217719069 256623011 135074233 524842226 258593079 585546047 828975816 723934658 237703228 903848390 845226117 906429952 167047919 816832284 481135380 396573458 671593230 371141613 547007710 451227723 285866920 356288539 850935925 517493992 936932865 125442534 670787585 597249592 124880039 537276628 179913123 345859513 363718766 879503301 521123673 247485844 269951842 406630912 645814400 357334259 561078493 504793882 499003529 539567547 477128145 441793835 768889431 246292077 427187352 564732504 807771538 231227051 509903277 934357590 472920691 823927925 181746716 973612001 726485967 485319596 540380247 791663836 348133369 937154703 230924042 288877261 742275659 575066835 633846985 825720486 762485026 397841448 333131350 754368908 950729731 475534288 318314185 435244709 665219975 746072796 139364693 776620547 385611527 643774042 738256667 373829683 792657761 879480957 395587497 217099552 933382525 957152910 508653545 128163994 343684868 572923148 611248114 174071043 941698443 597127167 710776744 287488780 359887527 946822327 577584316 267863765 344158663 598427858 158896961 509272123 729115170 495579593 713616813 855723332 548232218 266420186 684440239 762224624 804273249 315115641 267974316 681223540 119155749 105287333 786312955 956651155 690017250 176582855 345390390 336040113 610357867 823391854 788978008 381646557 450454075 629441859 754793646 800409040 886323722 969334993 518762657 229404035 972402911 877446184 130476329 872990893 778062894 524356502 923557136 110774847 860806399 409293592 261225231 519832809 475462571 297582886 495885860 418564919 974622247 881223498 341814241 551480854 191197286 461058132 691182741 244629450 130472829 599292606 167148122 440424915 816256914 687841835 727618536 806503807 416176590 491242462 939820201 716346742 341498610 803420727 844939849 358431912 797524833 457487470 993288184 680501295 150758158 861657687 739412348 638278829 630358390 609078946 765054153 234162192 642981789 963421177 202106516 488979706 684415579 193674472 256411542 414912321 181548144 141829396 904605051 764701919 602750224 638746144 530987569 506216892 451404175 614731677 324291685 556066074 701889122 123194428 947710875 150292544 536656010 904123055 324361710 153088764 932797068 117725102 302742392 214484728 608423425 579998882 507778873 289110458 610895289 312987840 951661364 930197474 227167776 439890738 797493896 605372577 228822032 881592853 451520349 633487076 327115485 960778045 183637013 369369707 781436188 348912331 927854839 286451575 872337701 185026033 900592458 750963112 445492532 648907290 344200145 576375050 445927820 917223849 303627249 221578607 768081139 566674131 727195245 214829658 649616889 364579742 764300963 752656404 841183748 492045031 341226390 100267373 702686775 794293811 316167507 749061824 967492933 667240922 790826298 516426131 962034437 440116351 696306808 964575958 160344146 384077265 173453452 505124082 936401686 902840564 564829314 910138536 315579922 119757657 710135967 839746058 943864150 494790306 369046749 525124774 584954884 850554300 505176794 267089121 722946637 384696445 410237194 483015516 462479907 947912735 630783432 474416975 542107502 871212796 430950224 526056747 533150378 900531508 300529115 442832847 316201985 224188360 180386171 706725551 104042395 276670180 546824000 884853171 629201183 408229142 455205259 127045775 424904487 250410266 372206386 119281977 945886840 598295715 894688939 394003701 372718138 561599032 248545080 105606128 305563375 600667277 636095209 977324166 730206309 122741254 988219692 581994087 131238677 770090079 610654760 620585745 224355572 932099228 706592273 713448367 139195626 608800241 455836298 732491652 652176543 360800155 536512221 232400303 989117497 165081281 514379133 454219917 668552724 307536108 877537363 448450432 177298231 579484352 953215281 981021311 903016231 631195558 771313140 530654038 864065446 455139967 790775911 625248709 821309561 188561715 502792300 480265541 388257058 650787900 226323815 374227073 220405085 850862216 983956953 528884214 520665937 640003234 207701281 338832757 863978564 861506879 536303410 439735511 772262627 435649513 440573710 480871893 333688599 817561465 908970244 971491324 290736958 960489278 172382384 915198621 985806037 113011212 169826018 495803814 242185458 594957541 411868847 238330891 365160045 425580959 654623902 855929064 717021818 737562581 737542552 184697980 749699058 927804995 193231753 369704945 553329685 141538153 447413348 690483722 839118651 996658435 524910819 317639547 373396875 810462104 196004954 506611690 515443479 939340865 842286230 539056493 589420438 301716759 793047790 124368059 156739873 673524215 116415650 543249557 368307888 994993146 683556079 991585006 803773808 194626823 456295864 189015589 765399308 836631418 102992711 491311547 452061206 205056158 573686709 751285952 884937999 306307415 652085557 532010727 346261078 913345849 222748741 969511837 272054267 615511036 266824080 899300824 896077866 618562720 396963970 583326921 106056792 401469946 297078505 828184249 980009683 230226881 883902648 749971178 339009624 603887516 388021301 197122727 398148891 104086624 395239881 978668286 615585342 536940792 320908922 361959143 990815454 761100405 753125582 146816085 767495925 366093977 890205108 360836616 568538360 544023029 224277644 356599082 551819479 117099782 569064467 813929020 274893533 330522585 942434885 953013078 780249897 274981767 776499948 191396022 683998507 393190669 512197397 837274649 391697849 613145353 702970588 769868671 823804461 445565101 567286963 340872866 783107469 736300377 431783876 599780650 711206203 299462123 938548994 479510733 707712189 567626886 384555241 418445621 481480530 103282906 770979615 526636175 227076738 552421186 246215239 568901902 775332309 276121683 284778916 219119583 376592518 387553176 619373091 633113636 229483087 884986177 960557756 903457325 221190566 262113900 674685358 592476999 464027918 522819468 654833893 741769779 541079553 334330318 519329582 741419029 614064353 523044026 747832932 547989850 459806743 140773791 734951762 800742059 629275693 830854521 801157596 198424157 997033857 948512507 211171997 395937321 583357625 408677079 377219015 237981802 941048937 332637244 482480043 998462211 760685328 384798268 138803613 862085135 692517393 738314810 847077142 246545706 939557017 145566302 564468062 132509881 853126232 872990177 371566255 518846420 676408119 994816975 932716988 905291199 869293604 708769854 579684376 255440678 816700538 578549160 687692194 851705373 688673852 380121838 292414278 511020697 534370281 629668463 400923139 281708187 877535301 937719053 290306037 176278853 824290745 391044814 508340840 153217371 811398022 235497044 553056921 119417585 857644611 935524918 151953177 171614852 467104417 733363597 174666335 447750872 854053321 373609566 579593473 230981110 129436055 446887746 810793838 408341413 289729999 472352751 327535370 960028000 812432081 249236353 158161414 959038287 713446683 227544353 190737686 841341281 850939493 734054214 758261258 965280489 331522280 449808835 724163195 850499089 903528286 138022110 570199859 719638108 750953810 750551046 819370955 853508739 791666839 874250299 358919030 749018228 220608585 532196020 940913549 302992326 645428351 549629403 683714785 476660456 531736681 814674534 169914808 901310885 724438202 864491935 120618895 160610483 525830556 185601783 780402171 448970494 240795896 777521927 775378866 525198476 649713144 615906228 680965641 435287003 685354887 257473219 422348164 390255830 439729841 845221568 602903722 656424630 772825969 108042579 988193325 191012926 915159938 826560218 523891158 885765867 242765392 125962611 454689367 318403439 590541488 310143943 600209405 670658962 655452908 301446506 949731479 885404520 995011388 599457364 622995649 247172791 490395000 877235117 429406596 410534493 474029756 544020627 754397451 734417666 377927856 922019443 168246891 587383918 684520386 749396523 882450496 116407210 231965547 471098393 675833337 651504518 704971320 446142464 687696866 390773002 169954171 358845089 759649354 806919762 714111801 858488222 840203040 281515452 403524965 549998795 299624469 979345631 406682933 137811488 684471533 654114723 537858239 865362057 306297429 449943978 178009069 723823847 887213898 259356696 701988287 591721672 158029689 612160205 613611816 935669555 217466908 292545167 260826187 851236948 831039763 102867495 882855611 671773551 203130887 555618642 264557757 723799897 316486812 138769163 131724508 447384043 124117446 109846481 291952497 429907430 914412973 734228702 206868879 335072484 774794640 254171849 591611661 594615107 312945689 631095981 912335276 806967464 757197713 327136670 949550767 944680627 411890700 455459803 403498599 267093160 828498382 449281456 526203761 181320978 609997184 753804470 475219520 515005759 821239511 225388060 282703292 172660602 419421436 910403307 245714412 805736801 217466101 238052620 159682562 984854438 805913011 990817416 164920751 979433965 365888938 451984167 385913341 711887056 535437268 884438401 176564306 177237907 851451837 596194001 763625452 784527343 785136963 780052194 573845807 781628748 930077847 233854819 326051779 124997144 417298937 590002080 710705228 282089691 240819369 665517157 765717871 815688731 936854629 347212032 923662299 591268739 490457890 549993812 948602645 457108727 522262227 192227845 201565968 351599926 233546435 785146510 774106476 455609432 255304459 688055920 820500686 881248716 922638064 470669971 719060999 314183816 910988353 532761433 419220559 137648413 641545803 162078500 837084390 361358888 363671238 115670330 730070830 533552040 783389781 637342388 997537048 132263535 825609736 628169404 858897707 613381173 787702008 490860852 950551639 996904006 221927025 513508172 660359665 859997725 129688489 938012850 440375908 179991457 937623251 248223238 723464428 588582229 209401105 951330743 193791306 544092540 264938672 874835010 617252896 456934520 438492498 119801684 617103586 124217309 136240411 739433195 541955280 646746341 128070464 567888747 708320382 679901101 841549729 800996691 247274770 276738407 688621374 934916850 977301372 470226369 751336050 951315583 687616161 838365625 987627241 537619429 374582727 106196315 966425673 585295934 355934345 646803290 300759634 334665521 544046990 570181421 421886648 236077784 181666620 819905519 667827183 658181094 708704461 915941189 669869107 119707706 332145523 234877168 733674141 631056877 275486214 724769281 486913467 274847244 917882699 345137071 925462165 435882225 877653995 401372886 789419412 419328613 302205543 367201555 626562576 388522679 843282650 944169594 496052984 103180561 917017529 174644781 822120043 621794535 489214737 282075114 395072779 807997940 721972293 898128587 745691954 632901967 611744486 677341992 213511498 319329502 754819300 309368423 424666166 971795128 163060576 155545263 636532702 496965493 692015394 198764866 742737547 651035540 555190242 513106067 242023890 457733272 196275396 938894542 427238829 808029265 674715243 145219692 889982387 725429900 762468335 462240888 299010811 932688604 269728780 825174445 827027212 213043186 854534656 915234408 319572832 642158790 567068279 359753230 754024578 704942787 445855734 534968690 285444303 986954077 767120224 326036929 476980837 870488413 773127336 377101544 691613166 741944283 278616795 614805204 815601229 289279324 891254704 561044329 139836971 419141476 544849109 471481930 351485793 746036128 658503080 475642676 845647581 927864662 372087694 612748161 810197115 603678573 805141051 159223264 527532405 566195175 696365309 110849349 624058974 665117282 466439675 291628721 507948361 496697763 874852451 241318557 567021930 365729074 259630901 352548559 278873320 271014941 987848612 922673390 320898033 497239439 287212725 681390516 612604551 868276376 490279775 526709389 960093694 595066821 581084184 301962566 972732268 209375357 207787066 849210502 725311382 329165234 736193197 167268761 415912773 372275079 725060389 346442270 547504056 296239100 719518849 266078402 656180064 119764891 270563827 940068312 279544303 939748610 204119338 979943962 957041298 966785498 377781093 445778552 301764131 463958214 390250322 650313105 681918369 644387047 344082630 806237579 539378191 527581627 324314354 667162361 872387968 628670569 139291399 904221309 402791843 728697236 726959426 193376498 932221699 783800771 228297846 913144045 137842771 783863639 621737574 584161288 550856694 215968890 210899010 537404065 901427512 450161157 482952468 267953075 200627906 362068760 595739229 310818818 242761401 564451047 647233160 114641098 957970564 610735665 304394312 765343637 278137457 491838056 729128513 537695301 108913231 403993056 333367804 194952016 133851611 736250030 406682150 608532263 365153599 537270355 777451592 678401018 475349753 483786825 739269995 871453548 867094526 820830271 195999878 706240075 750800804 775566701 358424630 533237506 837883209 280257595 332280390 303804326 737448542 225667435 865455841 246785414 659825751 625597334 998319432 749752605 604684238 997235651 588037354 500033319 518092713 640660730 642171128 173737387 973497584 614987654 631470518 358301685 287439036 518147163 906364932 681658664 373205537 339385664 297950489 757997960 678192441 939604950 350325279 737355957 914929369 894186855 292624508 477435114 907041333 932658707 882048487 796218585 337120371 114113291 578322040 123868172 435763381 567772842 744179817 837211828 909509628 108214988 353078713 262662200 471621207 968919384 588672417 376232994 701657779 987078081 292230423 782526312 325747429 405647447 619464584 350112251 585802655 217774184 520614025 383568569 449080420 752344909 686780037 133736608 196758749 674230545 640771753 681979387 215961299 936490915 766699768 573808360 630355324 544793181 688232255 133422888 538898791 456386066 158779320 765229973 888651110 651089051 943872885 769847892 956495450 393489231 558245386 891665078 626015284 927793678 589606304 912506144 661340886 711859226 890179158 636763463 646153755 404412468 433189071 858876720 388610429 777850259 824812664 668061896 324650653 424587638 228684362 961239734 909865344 786423608 552506145 793624658 104449063 101077616 144588250 348300324 163207852 709416403 516730505 329534939 180305092 472987481 481214559 127565347 373626263 463730167 645461565 876920563 709546482 852783486 129482456 293607125 518322475 943020025 756126323 607599815 887256913 944141598 115341176 239206120 952719313 145870888 281596387 437393523 643841551 476277454 742610602 141802129 731336764 581127254 865348495 950288829 179267240 910517155 136099862 788496777 829973735 325625415 458394430 639759242 738673427 722692778 200270092 565916827 347342984 116618747 479818010 923359104 698503256 454529703 356367366 970493341 812908494 937422744 729131119 874720750 683452812 894271457 728446487 708382896 612745991 367679289 995485967 264219161 568639232 459273571 864850644 118176883 321514731 160696513 673511442 902663929 368257870 785181329 164365069 925581969 362532465 537215832 439252107 521291989 788436069 158522551 397816693 244844162 928277651 851151949 434581642 810061685 887771603 322511044 279788174 590932119 233387999 988993224 828119024 960019561 467077840 743623209 279494809 267219557 552161352 230212755 680960471 905973659 570927413 688846842 173209377 641340878 945623391 483105874 655641307 939682053 691604202 665685744 398721434 797465643 218101906 617577304 880261725 377923066 711027296 132834008 348088154 811637551 315083707 545139181 456668107 477688144 469078029 432722999 860187933 961264297 982734942 476560896 262706873 353294284 657273511 228119468 421648531 949252480 830862129 271154781 186111817 386608808 465565073 289195039 755181381 677358637 239321751 954049515 609752485 399123583 695056006 468677346 992204409 830421770 469204406 772905608 964492287 494125797 115946648 458376829 775933729 400467349 817132743 776704760 493721706 556630708 690856739 953952455 646360619 986081548 409999002 912727241 818451949 525181878 896069045 781530802 232437073 680598178 875925839 900343454 751162976 583748378 399094751 995764960 407991096 813391269 813867740 889899607 210859781 642259057 584349460 651595881 848894549 485079651 365861077 377512900 831101724 734420907 221593930 957922228 369105375 977990845 615066328 822947664 450133874 361404715 353549005 375107630 212642446 528379001 930863847 220475905 882850302 326945040 975139064 756500550 497621683 153765864 121876352 176351450 889053329 290779946 561214475 541427363 489106921 314588578 886081892 861561812 392372240 385761348 864331921 873679348 713105360 986746302 417986368 143731743 868313494 968944214 245976812 878011913 586981169 682066445 137139498 980937179 855100808 727048302 778432038 414896377 563124938 259632898 363803644 293602487 646089763 418700716 830278129 479171243 151381656 682650734 356037082 363912143 540400144 225948171 958223952 140468869 109764023 314233529 410971690 649539220 321918129 537458996 933888640 431353602 182482728 257296668 431493946 133481084 650844923 842971082 153990423 312069223 823756956 419067960 619977225 317062463 547060644 341213784 498562891 817804376 407249193 789752434 427815486 301480396 617882283 147982158 231308362 299897988 334828319 647936757 959636174 616148709 413989997 753554548 454525073 187527955 265828203 145262810 613170858 562434062 648048914 784411128 400596740 770081754 363040218 526670857 491367569 696583113 909124251 616820411 969781542 183869295 120089185 789394803 124285722 864202701 451286245 387579931 473880047 806052827 414003704 912750571 974909351 361666860 312932499 602991399 139234139 210583497 226728703 665497495 940108319 791822973 114079292 214985334 256975971 878083627 465540221 288221771 794095659 210748876 443060340 560370706 901360428 912707035 698846366 506890033 119027575 580084363 734086439 120634124 677456713 340817523 293143152 215256300 364944853 480046789 747231391 850914022 211622131 693265537 957670668 106186750 970228101 659848622 927860335 976939105 346759904 540720997 540220889 689856585 210278531 956244188 794949876 969596903 364746466 654471813 423936119 614262831 552569948 839314414 810601473 791892548 571718820 278247750 433447335 817243982 454706809 226288552 624388799 573429543 994442329 433323642 957497196 951816407 200266929 186854952 658314639 631510486 736745771 661622602 740543683 899591690 698039317 656123576 235025017 674208052 762473509 465172541 932735986 219576658 450028382 464697268 379433131 586805926 336787768 214261697 137085496 600568467 563867569 103416015 426470113 238285535 189992673 356413597 387469699 375337634 816028099 782753333 166739208 271196429 612882563 367649300 769271573 444663368 110577143 378549480 915272702 246122616 912053493 985146281 695136713 586780160 781434832 918390949 995056905 461310130 512148284 310057027 324919815 234059289 478345200 189186175 632868161 579088081 644741970 489650363 292325050 472048596 448589052 257254269 671727276 715925611 736251474 763009624 887677006 471965207 620449575 842784161 605956693 392754470 112366319 127821561 588896286 257230505 716604993 828147437 800730981 874237971 153217411 269473919 986563598 678289047 717686903 671114935 532150779 365465251 960273211 789193335 938484583 792470557 437372939 507887095 142582031 706396415 852701796 964777296 687395107 882748127 779829400 410009455 464012812 131944475 101561735 267054695 757814659 545102504 906424638 930006093 950289672 637958495 529375759 487893628 598816199 271887861 727563071 353781817 477022090 784318732 508785247 319181419 168062011 246759515 832099461 541122826 732462807 509112619 871716706 900721771 887664869 335697149 738928637 666810166 564987177 370597250 149715823 666980491 195573813 860114508 992350511 746961433 840603515 593051303 954924054 853939348 153212691 841317042 678172677 399714172 785655767 101024953 238554519 678592056 479334958 265500370 218249783 971562333 371826238 572491559 903590389 149132226 897843171 947505533 815118187 764142209 621032278 878787018 260646850 353524208 150409425 840067848 752817095 904115325 715996379 350459820 577874691 435981413 115169359 291866853 230371238 511079462 825372663 471708693 946420538 154563856 449730889 388194704 760104782 417169416 373654384 818802544 790621767 966118125 920404913 613427346 960298514 489071698 298850162 446262686 161817246 966284468 196230482 836442415 658857619 378251575 737835885 394782472 739525159 421544298 397276630 678271575 887956098 515935898 168230804 421543178 311165669 189589356 780997624 736498051 294811140 492223716 912900833 697099042 421783101 595963179 962403712 970244961 140012653 880158941 329623944 557002596 482465807 876542138 456219223 627531493 755013548 970348775 759956818 232284392 331528801 685482852 558356837 369718001 917629651 914623710 327784624 758126757 443492105 789471221 819157407 278270368 900233736 170356685 422479127 635244826 903072323 349201900 601619054 814443945 179483505 428290709 851298807 796495577 773777980 943072889 201868818 796626950 193622194 489657615 672639115 546893365 751161769 284399694 244981513 826318931 519558741 286595509 171281934 400558984 438052583 538187051 160895657 535692864 956070976 266712844 840134936 103737303 798170904 890465044 935147316 845875442 906771647 871107674 136366150 502612043 290149422 718888107 132015168 416160378 623136605 844864664 965211342 797058724 618858354 757118046 725031877 645093902 832589157 605785583 771171889 588610307 999743709 181031450 204060689 296236869 144657948 826498699 588887461 635536557 677839633 111174046 815801556 160318626 399915688 658158830 836522286 420180293 139901935 443478965 586246469 542887765 320789155 747851628 172406360 951544399 749401780 644612060 195467064 395355289 223411330 297041105 809891558 712901210 523277903 952300772 216545304 107960728 792300321 476975175 332487123 755385950 598183124 779402997 980876470 165601863 905652779 977526022 223971314 779021992 172028628 483683229 714972665 596648531 720868331 400275312 416761915 201458002 758945235 161763312 167458890 779060925 262304823 800338624 763571000 252788264 506656793 396041814 836387368 182369473 596443600 737661903 915900078 314389889 213990911 715228093 110679874 281198715 279248060 378715855 877924876 221364072 436625866 826278735 963364996 477959223 759825417 344998944 667042574 833650521 925034174 529357394 687733680 142139724 794451381 884575919 259147772 460799997 316847592 919249525 634416138 199749709 106165628 788630331 509121091 102656917 576406559 242967302 644477726 365894421 800837492 735338911 827905891 625617498 322314916 916571996 617087623 232500151 478140562 753775200 982918494 563979297 204419006 891960506 213991006 693380080 190166468 203302453 892574724 266773880 698950013 570829499 843446026 614406966 229564410 700112609 527177818 933478325 718727521 519234585 283593746 711246132 534285070 613368087 672345913 561330382 397368798 807177204 874170921 412900395 433276986 972541750 992791973 881337202 219443499 510757445 185092719 529329077 986742312 888630322 155289371 857708380 129429545 299800952 700343195 504945559 960747549 234444277 966533289 560654550 124604243 816201536 614388002 816544614 290820879 121374717 593648842 800523656 397909902 883784910 868234577 462529552 316295766 789699686 278011648 461511009 221223898 156990894 526328532 643088051 561465295 924539991 226055586 301205057 790881136 508646793 792695133 996505435 401215124 753264123 402204834 575815700 513490619 384853134 224453810 801579598 878935970 181918263 343460679 909873999 836839734 722903362 650875190 474627717 459328450 737594593 329365660 980565426 943463401 122652052 843288685 975201066 361115386 828724979 378504691 547829140 201578822 472834310 208287645 899873539 670925286 569057719 907167088 140496672 879373067 294534393 427973998 747575072 477359582 481754995 963869011 169836723 537779810 393943551 192380860 520288541 872394734 158516774 877039116 544625319 980003164 143013100 259980823 958881986 996738391 139793174 570599467 583644806 472386769 425886024 429346997 898419645 488589736 564324058 648268353 814479650 952160515 957047518 550518996 704096208 450451303 539397535 437094402 772587662 295952501 859223068 187004134 973463318 368727714 756481987 843653933 877270477 249428431 424317327 118184256 575908239 269969400 449986977 518049355 375215104 587084880 992097144 279361877 424814370 489351418 929223525 863371082 781633959 663954706 985126822 497419285 583864544 563817645 533191857 730650872 303539397 764028413 803215542 735823950 609850858 142202641 299385840 117564463 303574562 948658560 474475650 399742471 496465776 239510154 221378313 289256061 246098229 167067058 513868939 359964900 621598900 203500608 846618635 549580511 329034546 154254657 719290403 317606934 612681097 548928218 937478017 159103550 406808704 947931411 425897773 162909725 852481304 943914476 478095427 992001771 463489144 799700497 664882633 672314843 604397686 948655047 543026090 849635575 924601960 414060180 788256344 975246047 985705898 974978336 730448242 322909333 167419722 490860530 105342835 176294519 949477149 711321922 763487082 470693379 372868563 360488894 600338690 469466957 724862724 881638831 894608676 686418143 741249092 500861124 851396992 266724166 104098388 344473253 159614309 109645377 316072945 248833081 183886516 577973350 624822250 141572365 881774579 502576685 799418501 255673489 815368403 766111888 309072966 757339123 574545306 503236339 487714908 554843479 302101165 238356491 961263920 310781423 982086859 755784519 773275002 552643670 132327463 472408713 248516770 378591809 850641715 824161484 195918091 604691509 731763169 185742282 177849500 272071557 612408740 461056298 416746155 861392585 891107899 423876901 858168111 520081009 537862204 561131625 803142330 133535116 738114626 956142517 476583158 979582289 618526890 174328359 783437025 581795658 898783839 440659542 750257355 371699549 535852587 686625751 970303905 570870419 514267062 664004791 640244609 289101209 579202874 546358964 650256942 498532847 862673671 756203581 448614463 558977367 652455161 170811980 858746427 538475129 407897136 533813028 870772542 201037462 869302359 784743343 680066155 839287259 286527051 435127576 531715125 469762032 959431670 546275563 646292526 781345621 133451827 969006242 595371539 483768884 516638014 456041664 774073737 170673609 158975649 783714595 639395804 540900448 699457615 801566352 601046690 608498692 897126985 840894080 835515100 324092464 427201919 488960794 692043780 631769627 248828732 135088346 995842973 222143715 936522357 592575129 536355555 109378886 504727764 618371358 725846952 669144906 814930746 141736894 575045351 807827032 313993292 850348707 152686702 572584025 226606017 828777446 793045765 103841588 604362047 916831078 463753922 867580500 753390941 509702988 139446861 122585119 837691830 303325385 922029779 737373986 835143427 935215347 339778056 846713063 967420178 872024645 787154312 961159127 868822239 249412727 430886898 473768364 891950336 717273615 419515737 907726530 675662663 545782036 135730011 109435965 433885131 704753624 393499570 610820546 946919916 904139933 756772938 288461227 874055134 963128362 165584222 976018053 747843341 994403542 786231497 437553137 448983165 422979217 936465397 947628435 224762420 102945574 535445804 158824743 920751135 391498513 931617399 899989834 179345752 685644291 210579534 360113324 918493703 341900248 879053766 520145166 512052202 367705193 635013061 527132895 273205207 865727585 248131264 989765473 475573202 526606599 299801436 234177189 361562892 267742914 310838213 168327799 718807869 441725230 739711850 405058102 534154904 174841945 518771469 619342077 571653244 852797517 451368405 628452746 357711668 465465198 733614246 572072523 995996802 125244156 775422452 742276489 610674439 114587363 764883172 617055553 172598117 317495726 879413442 427409278 558900474 233161816 664624029 899941634 692784011 906882652 757202255 367278318 698277984 517358516 588732768 917499552 725126653 888631963 514315401 432131242 241781657 696089099 349345638 123648679 931000493 150753703 930445747 755815412 955817033 782064534 147117950 388039980 257911387 828269314 671302175 530148449 593736651 479023462 793785392 483430064 736866321 926190239 889901028 181619145 113057521 888815260 290952308 568706842 387164158 677147293 161052720 984165333 212285831 739399267 154733039 401870548 188004456 117819913 815646593 842078101 697417956 344592961 634947635 534480631 828325596 936269758 944853493 925694267 551829322 905495764 877886977 880263939 581305207 189874793 344158361 660300422 912387638 359183253 191009771 839008858 806770102 973687420 812476035 139796833 303613976 804801392 448548460 196159874 454037438 211570514 631228292 705600911 417181198 206652968 551441535 162237748 913324443 715432219 557286311 293062020 337276273 407259866 790939499 243605583 189406358 929282527 990656381 654345569 110151251 154666460 690941642 147987531 908097908 725763153 204648293 565762207 439262167 948484081 551068630 112108336 908658225 141605430 564302241 253269593 706376370 852256519 934307129 210014947 444339362 249360215 760893514 222035517 257308697 967851793 921635704 211773613 817435364 686833596 581134269 167748402 334482138 613756036 931968574 510492627 331194633 466486017 824797146 954604408 231038338 761565390 587642295 839891049 870803160 988729301 231687110 837619451 964562565 524348504 397193372 822950455 453792660 897779324 802648002 201673934 872734360 751302455 528385596 249155381 481708278 540906699 659506826 535737648 312578530 195963938 380320799 502684914 713231631 582309299 549742929 703181927 436202342 748021558 134049586 910389353 352343268 852806215 770210501 342971870 129054890 946821909 387360865 863690051 286636655 773657573 801928958 621746386 921468255 294577932 503366907 768764981 880413272 117956640 340982946 670243070 302964322 955353043 940757150 787843123 742069029 757614674 989683314 997610115 795830129 370947857 730714465 356193916 897521373 589077416 162409148 436422221 387543899 990400354 641226216 192213578 355582340 610385382 811767589 172506754 405828762 957755268 438351977 433620246 441772921 325186156 337179239 535128129 374543723 860062406 168479220 148281222 887885538 505223440 283981944 866157785 852418362 169645918 328889816 588307259 715652160 855567144 295054940 963692398 623862803 527127718 489604780 357126449 513103084 593152686 613672360 125969984 311384989 377680967 829945107 642070952 154029918 101445242 356095579 215716592 719081039 144980312 409715293 901915686 232305623 956349586 637165853 615341351 745986080 866725986 530759667 214884332 511596940 724586190 674817132 930010197 166284759 619934321 435386709 893338798 472537396 870320183 930781223 378703106 874526355 925180356 852720338 743170874 783663018 745973346 238119865 230734045 626325675 647093900 773300775 153111045 116706833 220581042 994233871 247941869 529777960 120872095 276711682 780705227 482409026 223203676 785585802 507130348 328606774 976400306 940228247 797809966 241410355 639053186 606386161 140511918 114451838 901632774 557048419 116524381 869417547 181741790 365342749 868606397 821028719 180670718 175191762 630957384 536844236 318095270 764210937 251803946 297709913 324605142 162276683 129353404 647082264 213351803 245221471 423929907 160026383 147938354 140910052 185763432 514518821 375720643 660899897 696913954 330586416 460602572 529514138 204757479 202116418 731868024 921523393 888510247 795329105 185051459 210771715 278143990 667895568 270563000 747784444 717503384 590034370 363283331 125329086 582223840 145474601 111717897 201660322 323451595 368372910 925442755 626788809 745951059 796461204 210637849 888233082 904481890 860182742 355988580 250032727 365823174 867537833 746903370 597197204 116337656 193065417 217584670 605223451 225668375 866074604 666037242 624803871 615878106 853359809 141958421 665304614 337132770 987461219 582669092 557466716 513165466 318831333 554772799 339056571 245992549 309094580 587935476 875154358 307950077 754781023 465511830 211556636 123701989 793275517 457186790 137198493 434578044 513168370 610381831 375321509 976228323 637490781 888916142 601321723 206356623 593134950 376850631 287484039 656986989 908043619 521712858 795031603 562722810 873851063 126543420 204001054 665230673 743058153 490701438 660437737 108016724 678898103 964100630 956235376 310614481 233080652 485860234 660140108 299140015 829927796 402410669 478701084 508822383 361417932 317029091 259863351 584320142 598466754 402522934 295046503 166869072 578142451 199951332 463518385 423195841 390290419 993609441 237369758 474081449 254815543 568652818 106550598 680828106 153536560 706290894 682778680 753776441 885804059 200396682 383050731 968391861 785593477 595424515 157797743 412119616 229738758 349698230 145249669 391332384 735315174 536568402 249177616 298138527 386072698 290979492 447077522 564367035 568664592 152270687 767869610 344380854 676714032 880753540 995654048 541851105 769622523 799638649 293031168 217638844 880940679 875216343 173805286 839387994 894341459 293466011 664257589 737907270 951607250 120272078 687325739 778425546 391791391 742593192 920511706 344429619 520795274 488175087 114984036 332750592 116164221 810532222 565214724 181539271 606616452 113547111 746612726 710723865 385394660 202567886 915636195 240189042 663069033 863417594 242811469 627308592 312743182 108397314 507981745 456969037 857215304 528116678 729422845 289165729 864418504 518587530 761206697 247216750 790998858 356034125 929764392 155132708 247056171 354660221 260494709 511903351 136189907 636594232 573011691 301871262 627398892 743149513 799905734 463223934 171537270 836884661 348144924 588067806 694607275 379622378 840449127 316739723 919132668 752629133 690622517 895020839 282096365 360634937 484304420 440544316 880433429 381209869 736492600 823757434 220887970 955326197 769593979 909528354 563844481 781270104 557150039 742481787 625107204 599949711 316975717 681847921 426105182 602963531 778372911 316404337 117157881 309087169 890142700 809626605 544051912 387229593 759339037 174595854 624936207 949758683 294718090 702565672 376708119 731536055 741447078 488975807 352604599 856671389 773647783 590573566 212507639 877174260 453002763 837510582 321251531 759868004 581217145 994472654 682192944 871357202 194442974 834363757 318500131 742220180 437009385 201570908 209253934 614216196 568403405 551278933 507891755 270686032 286445267 744364818 597154728 719508985 745598074 160732388 374813407 461593918 731570386 361308548 877065668 633682400 580417272 226016635 595928265 776576592 307200105 205396587 550649022 641708403 225703377 312651259 100913120 721206747 537793478 527910396 527986829 393390613 909879744 374854358 349616158 697492144 750669978 780523131 298220973 795436645 775969287 551613547 973413846 986587800 561713649 323399695 812291225 241853492 114457020 365991881 634292787 712434563 168711538 562084290 689053601 751843909 237404202 628890305 838047070 549207423 456682065 490918868 743292039 392344845 575369191 332361077 401038087 304255122 677182658 402493520 784334524 701958448 658283900 860858181 901015199 529276937 645056030 370763664 108202839 821855709 831925964 996834163 270866867 854287875 647932024 232133558 228797391 133681114 492591892 888526480 483697904 697512191 203835212 491723436 703099239 717349287 390131422 486312640 569650518 230918483 292051790 294810941 436224523 682741367 892140681 338362567 263441785 659685655 727440889 265760757 315599108 775649511 224395833 131963559 918828261 179444043 384038733 126559664 957145368 484635033 201757708 234338432 373145979 787234641 545873123 786756630 523030513 296721131 282858555 144845165 186868600 244722182 687660706 910844237 727196016 216419950 288358992 624499770 863696342 369920056 377399049 758556866 512079009 562331644 196260239 858525168 465094084 248165317 209562276 103550040 422183888 349137315 396000250 166139190 207969672 192159712 900591834 155728353 540538680 887275120 823726317 615062846 510940420 348704437 503395405 749848044 599123536 631150890 616236832 637009838 951235413 920870407 347676545 144289077 250084614 798113451 358357343 257447159 956594231 589469424 261383012 806497243 758698910 626097930 827449889 134363238 201475932 126673141 565303023 555700312 808356612 743419545 520057727 249546894 602513553 975706691 512665175 858703904 779451764 928837022 736688860 922409158 936562209 830252797 889664161 239788279 158599261 638598934 658221060 457499780 133338217 179627682 920219252 671960624 330729755 132571534 117993977 650528139 394159013 889319761 785183604 174408734 876553618 131294742 756751947 129171060 398452644 570886162 219891097 401561779 631299339 477927039 242470880 766142840 283041859 541443223 946323990 806718355 588812580 130392209 801621794 561112355 685218588 362845313 720044164 808033028 456621604 218629559 470969260 457137973 781754708 872765139 232768346 552141695 454962788 610312184 649685444 882446196 766826234 660108378 506439268 875576220 671562581 581553463 328547680 663021837 811079445 214972561 332869911 462325187 822053932 228953925 158380332 659273684 411067026 344552904 305426630 705433808 425689481 517408345 936886568 602090273 113600103 405452525 193775278 741197611 862663446 748019209 543501483 830729118 268380722 722843196 123302828 844493202 991549286 529145470 179612740 302938017 928340198 514414996 739831629 673482679 168960499 685886574 748230728 241524685 913064397 412391493 216887676 411192216 741023897 798762995 606194951 744257313 222589172 592209631 645772582 371299701 502851582 612529257 617339233 183229354 507220729 541906402 925068411 617156470 946088754 149119337 183095424 515688854 566778805 239768687 634969043 133038510 866896415 749414589 862558039 334819776 154971146 472564843 170373003 909095275 336603729 861954872 135847773 543816894 535975634 546566397 276201097 665140518 187086714 408343164 200475901 826309837 854299573 227131712 837784027 890433569 286509191 148048169 579450882 950933550 282313960 287354925 178402560 358443983 684979287 113963520 708796986 724787493 881772940 202223342 708860363 274442889 596041390 830016006 531552532 596827335 413492596 775553075 597095909 308479710 565217341 312871213 167164694 437898236 584580896 205446100 874274578 641617753 212517929 708718777 934079841 207093876 542633641 632422821 745860864 975510168 393958097 781957857 590660843 731821684 607757910 515286292 335711986 554845121 634394684 154780207 389507136 623280056 363537534 123285977 889474949 388995364 783753690 942999062 222806935 962515260 704736138 209240775 479223880 748944986 172327552 327400046 506646280 188424952 440388398 106901104 631368112 125900603 798780958 370384008 906043153 828035655 402036406 941513878 292271226 582714782 535186075 471013235 951485339 514494510 423931283 452634213 749404525 472517545 357634237 834149662 759730914 465121934 238776500 523807159 555281828 586274049 860556719 450582101 600865537 408779968 682576028 859494296 105792736 888494097 694101115 675243163 283055303 444375336 351804099 960608685 373739174 152234553 586848111 988247135 172562275 373022379 710300113 255056367 514213317 729912862 908440192 551040494 474663321 627902751 182116530 894735635 865883903 688171682 114526145 788283683 284221122 267609237 354134000 510172319 193922205 669501098 836380143 484349526 894228932 298464572 252545033 449888848 945553077 232198980 277480170 836324901 833560551 120983390 464637629 496312048 155853136 933421411 282282114 849369172 464464997 514205802 848047481 626127496 947085926 966724376 977279871 921698124 570703602 982441279 860028909 488611310 255520330 441579654 704875544 901870913 866187400 712509943 455370884 822973394 190661761 388724866 198343116 346066326 671169130 332935956 339741528 243674884 220631653 779711185 985736204 872198783 350214462 460642613 859030706 579408186 926207936 532809035 455099460 502128838 782789928 902865346 676405795 294442176 796904770 187454848 293049059 520793260 145001007 750108400 194830657 859702232 601466738 811290028 858020644 473856101 133028770 971377383 791213142 166277631 599365835 123821670 530795831 217402435 351987106 404973596 686137462 778195970 436046622 710150259 678247086 444739729 801608385 597269236 484989862 570992421 244217104 160368145 368828033 478483191 676765283 186856858 753348917 822312983 480977531 445481678 764957374 338495189 760178866 170390491 518456552 265877980 642300537 350965946 863873751 300399027 569922537 564689150 633829693 873366105 217972182 335733930 362309876 636353537 796720822 335423012 411792701 118239478 803847526 666855432 934991739 399305682 856755003 528132068 306788641 744650409 419682080 510549157 461024805 389603399 483230263 192000895 758956323 581410649 505201457 921841748 799485658 891750945 713637326 748594423 262300855 509137755 368337859 771486812 524751688 538541427 305003949 600030951 500672609 212672639 125290100 799278304 143689483 586618142 327755636 706864599 624944137 787501840 445072935 879070707 462972012 857667535 149003417 837841173 883256005 322884539 887159082 688148557 475241672 384483646 407352836 421395356 229994185 931575802 595833530 260498826 764110099 166328155 684868878 516233663 784614749 647787610 790937979 176716422 206050950 319267974 861791301 728859938 312520070 471997918 889654803 425428690 868450365 135585865 905433241 618650041 784929393 351497516 940250122 389051478 904557663 909274329 566980033 195978339 717944373 682595814 408982637 119774377 326947317 960259682 294316693 751093773 675115826 252745886 884043433 512799816 238901403 907908806 277483970 678260208 875875331 898893342 874973463 972203628 426934253 558563123 129409809 554247100 877038930 560451963 740292226 952425924 155984547 702120923 775777290 705683985 690048977 382476597 847129674 538240820 543232709 649283971 854497181 962125810 980858971 863514451 819977290 992655925 130934388 310525819 719403751 955554365 457766790 904852958 496245970 713081608 103106447 199650042 700792071 332240356 932605602 793053040 747281395 193599681 933460848 525766019 938926682 620647261 805066497 883154601 904368635 659461802 272337140 628954382 421529131 559175240 822988194 851241170 893232410 733331511 479334084 849593373 765811565 751641108 535115141 177049194 296728421 117362635 186937428 530610583 557789779 266536735 691482157 494807884 671463388 559613796 747954255 843124805 133678844 670847244 872204473 573244980 569492855 968377757 743897102 674709617 871015623 383970335 196422620 709218844 249393682 958084678 622298434 317086029 624587450 576876721 882841848 227300805 124051260 822599735 517535312 981406783 990004971 137398669 775587402 356382637 602050360 964817603 800369209 644567425 682857548 219807899 711166455 775527320 998671158 484910385 563852164 542962462 982684267 434394560 307262629 581709500 474404023 454429097 316649403 983571606 764656887 213105795 835957128 857823106 440264896 231042726 656372201 718541794 546419180 579047798 879578229 528848668 902285962 478145801 218685735 173674860 712414949 312461980 198500413 444179474 821748113 601855963 650248952 754909718 445382722 218049174 197251109 708645927 714583269 279071169 480493586 764440431 124362199 446162384 116167090 507071826 846354744 884424687 520096457 144080167 972348883 556951369 658919512 342579124 158364867 560991681 132380999 538974268 692739056 742616536 356262567 891733301 449046093 385423892 625383039 730194873 382429498 562630051 631201915 533499396 438352943 425293437 569307932 538238089 838959244 247747576 613787781 116695909 351199445 168470298 930873704 496023090 893749068 234846206 516249664 622567213 684213895 633627129 918054173 950209165 765187009 937669791 104977891 727019070 941511350 899234439 534503943 130384307 357812037 800412761 987712059 582107099 778010007 860366193 965419266 381595361 193180117 149816340 972843467 376932471 218217590 715323021 425515456 345050472 339796792 501249139 768216632 267365854 601334021 687463416 870017828 202533547 971048935 941202215 196118427 421279800 843604823 184277550 278290742 152340867 674373116 392247624 559410098 116659973 258079391 293756610 361500398 685560116 989440409 612460041 960160741 943958740 285478760 248287681 598132388 904235364 871009227 640410608 641459976 163203406 125828347 740203228 148577839 342628923 615211545 365119464 165413192 115470516 730939707 221692377 914081274 401923750 767987287 411695388 722334939 616907818 370836813 938600837 364798375 724653139 864347222 902976588 147811790 509347495 386737806 735410460 908060402 738129663 901477814 354895446 243753339 661820255 920702889 644648137 967346920 441253623 487811093 865631350 538638418 561935287 698881456 370463562 287998340 946274682 972474544 806529435 390440952 597992944 494147001 394185523 469362619 611981806 744939651 728873390 776726899 658506408 933562414 930391327 444224121 549593174 624231796 280350977 543685849 244185384 442183976 912074991 888398285 862114350 460847737 295422214 198823025 625947532 127760645 686009446 389681972 347982368 658245419 375183725 314069961 546388346 774396895 923343761 932731938 974431682 203879083 399838531 246171263 709488331 322471819 719551929 586566034 252125827 371079013 441038557 982891977 387441833 834658403 389223111 899863177 518868472 913291817 313378961 516099347 108359290 643931754 295108176 410682251 156904112 801942582 597233030 785986003 806332542 779634900 265581767 444332524 788475079 246711648 864673368 945160408 550097242 206173226 779048710 337836035 846980726 583712712 623514275 371656784 655787656 632422680 235927412 598364090 797875467 753687488 167307079 870717284 911086851 309323845 482288808 341930407 974975407 836730741 769507142 919689048 911838097 520764904 702031716 347908233 218132852 543097536 736033889 729493893 756218304 771607339 711326489 729588723 764851213 451043817 704619275 520074075 108508770 577508530 478942907 856474815 416024943 686723222 776970612 118572880 474131900 358161529 283785177 142169636 552238530 752860735 357150834 879887075 835996150 465249580 374436853 542016196 656165066 357788436 694789378 550515701 656365544 646862631 629119140 474552665 370525154 772996839 924434220 724411939 543564694 207060258 612740520 185372222 842662358 695923174 568759279 187058097 506941269 467111041 535145233 500125174 229243118 139894862 316918143 282520015 953153757 705599643 570961403 275392190 651617964 679578664 345408919 404606726 140772219 597073523 144984778 747015264 168517317 781918299 193313050 479619965 877703332 613799592 247096326 981439253 603537136 662922454 989274100 883228727 195958059 856700184 841922730 307241585 148899122 750041164 961429090 736444936 131234594 219097757 427799359 801702983 808375288 391818031 873024832 392967131 586779892 923170590 304153625 722372086 313958912 688519992 552771185 987826482 317587937 462496239 530495372 273746506 416723458 691245888 701689074 113337814 540287860 473907510 852100700 702000199 824489811 514766316 540999734 479891503 389332500 603813350 670416250 476813065 106846816 626499087 396064657 451704236 762070365 787625593 613221794 633550738 151879553 396353342 847739211 333239114 382928087 614378049 993791273 224158294 601950484 969397770 881107321 990177852 661904905 880385497 890728458 758580247 967825411 607026847 514034673 518317019 286102526 874004375 429430330 821701048 684766529 991055003 974566896 251150313 642743850 755464209 447386726 786499724 717681976 721763398 806756186 881679683 277579210 908300540 105707646 434103675 508037109 375612850 266731456 160778255 847176720 731596406 559509469 133831326 667294098 663640970 568115191 674380615 911857205 325502649 235035438 453475460 363464959 511555667 571675855 861251499 900627058 902158412 213266866 992175011 800484472 676964380 842141400 629594980 179400826 625490794 782471310 574152518 201265637 777000779 390547331 477316040 455867725 987444489 526448752 476514264 334245116 756858988 439139450 447131685 625427964 706777801 158018303 827711420 867825965 838549012 857650914 417136518 251996509 177901396 236732499 642870281 187687434 483436435 492204195 507798645 243453687 863406084 890985768 444666436 173035096 125057401 607784176 405408695 950320271 905406910 505659310 613809015 912061742 181057268 276978791 400765849 902446908 595114255 863094005 956646496 906438981 886426956 742744507 132177668 104176062 158937601 290147064 438821388 472606590 678585345 222618278 177777184 808956985 959667716 747573274 359631581 410060301 896595393 650035660 673369496 382326554 265161002 994304761 599337294 208970799 211488716 812012642 903233657 831497673 440610281 103104376 536069852 807479632 436135383 254845284 901964479 273615082 579640527 730874479 221520423 817967826 636549667 575942455 546699812 925747688 961712670 768443545 556533599 196965030 117927283 433211512 670784368 516074387 887981812 445471701 697292795 152060609 346884934 491592137 947570487 699627021 654321753 209860619 215846047 456222641 902458148 738230206 768894329 549584935 749716870 156061677 202975198 724381816 926013255 613705495 869106579 533319682 239935791 687840423 841031819 847699319 800835445 718445803 405078096 189129337 555233570 375642323 573103177 532910439 920811963 447400756 545937110 816413755 834785387 946877479 729082373 838987007 166197065 487393221 413326190 768442693 288662018 393950203 731597247 965221982 593405757 975266050 349574609 164774593 123116047 872455907 425550559 417471814 275994805 283993885 564889658 753133650 871958551 786691301 369872544 663132972 545098174 864491881 688933065 996348962 692316681 579735616 752237831 171032377 741805323 666377090 899242960 248234434 535553798 872077989 623838988 568617865 544775612 540754592 958678627 754954109 984116984 202347000 235548383 793079678 243691562 679905403 316972167 607346646 491504321 872731668 301698460 939785194 243698528 435829494 716751865 404238319 401422929 518301482 128055210 699416847 322010572 781760664 382781516 296708010 104464528 828471866 129632838 300005143 126612871 662491595 248100292 552178026 126088956 932644972 191923886 705567177 163852877 889883253 528758148 884987431 876080740 469553440 785923118 347030966 615050747 454211090 387833560 476740945 307248519 652210130 691921003 685526885 701633859 299613024 768409371 881971032 154719329 863925508 789263981 372037061 817061366 815109535 394129960 142200939 962311158 808598097 994399592 313244681 293147362 477792532 311479076 367470179 277572728 853682267 850445410 386672355 562109415 916032399 236024889 359984480 445513498 932997351 661946195 673809235 382677278 579322164 565503615 629612495 730761162 355093291 271645078 393806850 447075264 706391345 839840917 893699344 821798448 483466442 400474427 370532775 775840503 573956806 904747178 323451612 997271543 233004939 323709580 137549681 328712884 578707560 183046316 248579741 338444563 131714174 102833345 528180748 224509006 474347929 130155676 432896205 611552062 390145584 170347645 320671422 814417103 993366020 613455025 596600218 879542529 100613838 207605062 489271033 635151868 577852586 244012786 520688603 850863187 866685110 516028025 592308113 675360653 630307960 723193408 162771244 583691654 381523577 515607972 219788045 142715693 625716970 125679911 241817831 862781796 943879137 359352574 635670899 670787934 435310089 934462277 478851775 323337006 543976596 386038278 530824314 860979188 316110697 697950403 355845957 697137704 521286080 732078462 122179828 833432904 938119546 295470143 864943341 270838662 935242911 673190736 496368119 873282551 963501921 867073389 706149610 415739109 678869634 803353908 503559287 298218716 137384458 817237713 313353233 429761829 953106250 343992819 437921512 196250287 751446023 851363582 475216883 680469081 310091109 744816342 746324547 404552040 728696477 641924193 277104466 528434344 114974174 253145017 287384315 997811844 732513449 171109656 666875085 635067404 410444615 207373589 149945808 612024822 896324978 803903909 167299502 156620794 350752924 594518171 360887757 285111727 135177276 675144927 702252576 905644630 861669312 593699613 314464331 999354700 152719124 732108165 152026838 597486841 990603010 812784536 510616749 431663967 313184045 787601767 663179124 625077722 169952041 411518216 568828651 624476981 940149637 511762377 266848438 111892420 533470769 311436717 952253347 964662844 633255717 348339581 144287630 584274541 975020325 439573366 563027350 294590766 735577705 394726805 629512481 434303273 625122487 713380030 653337299 951176792 428232293 720402855 972308384 865406806 862322820 567758184 716385526 903941312 745554246 524691822 572077962 571403058 395748002 575245951 623631088 701554450 159380322 607525492 937545433 823893670 248981597 757036167 532662243 368764034 669394674 388917163 845516396 496804207 599252213 286780857 711374465 839921048 908913102 242046503 951108686 811094824 421928976 801312215 464727011 327659126 175718269 987453310 605975459 812476745 374115410 181765414 315887928 734122023 520807941 149571796 534082139 965131389 308379371 878156214 678261781 747264445 517066796 651819634 495723483 651570225 792439964 939041947 771114090 430291563 923015370 224408486 460715291 496046321 253944993 222350686 715790518 431270428 268607323 755624301 520055717 553740000 959210128 587312669 495557726 984547087 508829109 718149402 201802467 640168236 815583323 635990485 850422544 530221526 202708149 277645351 318405114 360605282 874530028 463963785 534569161 962904553 336805742 693259396 132527589 216906754 258008878 258286972 517863819 351456248 555374404 240679793 509454759 153093824 972458070 467649889 344417484 448662472 137966103 822790057 616885270 721872544 287695190 191201917 311703844 570210564 889802414 679142797 252891277 662770848 906923106 826139657 845195004 463445249 166709916 966336776 923167686 365893972 155588433 798808376 473720071 447544079 249488113 681259755 444421884 525009978 616542647 112860182 777555486 272435842 705104812 636288080 556012105 713755385 918994563 315535450 515332893 654362773 358027652 886069796 789476379 343073449 112534420 986938724 588998103 105618001 194714836 441547324 488142821 415877305 314091228 368124366 624567409 128325849 744177325 655299493 485386066 449394124 907097597 683916498 106259454 441048715 630594146 530758906 220191619 149783690 353936195 861451394 870687744 122782025 855042497 352026565 315170953 789760991 209904398 399996362 801224036 598785555 358454939 893252830 254656602 278444650 748618428 957931245 632571535 779799137 357744931 342334731 189688718 249723502 487121012 839378213 346745505 854177438 776290520 776243380 589004635 297953426 985158487 502962112 111210804 736659967 692715533 309490059 580185485 746511325 157167502 296764033 638095763 455602458 825903782 241067769 797272274 913319378 190266074 303590019 215204454 323805409 643455614 127944257 910726244 145724549 200930692 669828358 346614787 446094179 826569527 736055737 468865853 876780226 304448598 452937462 180748851 497141634 118316084 440215504 345682970 558260598 706742639 952252250 411419624 936638160 678049901 455008106 654815769 800799309 864993572 406576764 742138960 658968009 415444987 418759763 696141905 927957766 451217524 764105644 893609869 193521847 518059855 332437132 937929751 295626050 349498630 149684744 633663644 183172262 250977835 852779258 415760013 129250249 794246975 821733261 950607612 289294060 751113993 383677820 896000997 178338020 981706394 131240223 535848307 146772126 615968012 846082765 983891889 295846102 417192144 665496535 830803402 146149898 823686826 282991014 931958927 732507547 546007884 109931987 725855248 150581468 447507505 417679324 473509951 530073590 103224326 187456255 808567015 245929671 226912505 960520766 206486038 977682798 438288965 894678232 838653845 757984387 182772370 988304843 724497655 198133932 980993180 129381756 899480404 707801176 111499490 714008713 375334436 953466150 773466799 894828185 235352885 546345900 248187657 209998654 680152674 906121949 528546031 724066397 737717751 384113061 402239213 397127648 595208998 835089838 815446317 313096169 550931337 281241339 328413150 715235117 890630739 266985794 714435098 286838763 746916527 465368341 960911275 327549959 808710331 964387167 459487669 216806467 660748648 848284498 856104109 174352514 744747317 724166685 713598109 499953585 814909780 792549913 130004791 479449895 196192926 244386057 503693522 726984410 117940024 772124071 311833196 324792891 167167990 460823047 786865001 691020274 136785897 801002684 726110889 398844626 549870841 166424566 987152297 733502401 879771826 764671903 815899503 911366263 724901474 754816069 519441081 103136058 153395626 853088821 899786874 659904068 200394614 638467942 454557996 521864333 469930308 179599340 881623116 151756768 613580646 665848681 349155960 209051625 754184868 270651403 327965156 504214642 603631768 440017169 999380691 169787348 259689399 840561494 755494082 816633448 747259868 464463728 753134267 688729262 902234854 401168746 108162299 612498349 276537282 495866412 533935041 262804958 624896664 665247339 887236555 619904818 176398591 369905947 605509128 728497046 117519757 299568909 406538780 304580159 763308740 644881581 265944993 761564956 663651921 829480736 889276564 591630898 601601467 819455756 150890662 123857212 343517860 967113755 172906745 316450921 244046773 538546364 555060666 318999111 281390092 342522755 791128729 388370338 491933160 421363814 523813171 785311692 625515782 269018153 276942487 862490334 125301903 126437405 885183158 541849327 610218533 315678066 993573978 748550927 443153542 548569141 655148938 545913022 951059791 607209944 161441287 308185103 901294634 135717017 481091147 614580739 800314476 990500938 722611065 196471120 536724877 416871167 151260857 456312859 186104276 154421289 619836272 502744134 819280542 984500867 941673686 239616528 602211370 436594222 719082236 178577066 382005472 207266601 400859662 610224776 985722972 654239874 198896253 740887258 729456785 119484091 366239917 393534803 195084004 144713234 135832485 962293660 794588405 291740567 595238480 277892331 527332319 625579740 966370722 947273768 620390079 145960954 445932782 266187532 287066304 917452737 169090484 598978792 554400831 885496832 623202446 805299872 362596850 512881639 710453353 607508229 846369052 839059311 160635311 956519539 297872513 202783955 592250911 386911350 115645803 351417438 963756578 232629153 225945173 770929280 154187540 314924094 206977918 312893320 439007493 629249918 109648331 861633657 677408945 859370735 315282534 797184936 311298228 848539792 583927079 427342276 710858087 686326190 416244261 244215471 678245016 335115531 520677724 225680537 515438574 242077549 499572668 579339631 326934761 913745259 487650770 548912927 594885058 826866032 413887855 743821942 511593129 683186122 249018161 349209352 252844205 436102637 558055288 958562651 559740900 477047134 907498004 926357694 738974655 762745524 616248212 388343133 449782715 415828041 531708055 963553397 413609905 133356380 362041782 595947844 494662249 932674791 466739801 227683547 626188608 947840196 742137011 307968795 516413636 659772654 896383717 456311925 852543248 717562005 216747259 144286561 895522033 575914320 316692076 744705973 721309094 959035315 435425124 136343002 243714138 747286848 864872594 520509943 737081871 819214609 583843363 590883005 802519999 305928764 128973880 320652382 125159305 261723454 204799852 383991329 521088069 818480923 376419199 899888619 227571802 628034078 980013576 282490462 760207639 903156516 144780519 536010193 302357199 113865700 938519095 535485514 350607146 496445677 191484601 914203506 577118217 721070839 991700607 244489530 178550103 806955193 653352994 588961849 590910073 343794549 321614440 320090567 456466165 281859751 407740777 462451334 775301818 659922881 132079776 375602549 580300554 703628454 557703180 448131631 779411314 411220647 288960021 495008324 605240846 946442866 722063746 606104612 435079245 801676826 709291285 330542700 455167185 570380060 460877767 949492834 914099441 749120581 631538837 265223030 450189708 581529735 688170963 186432887 925799865 170823635 394187043 746173766 491258256 360323451 425654425 733317563 586788146 475481317 685520663 655074535 464021608 767172678 762869424 720756183 287516987 851483035 256292779 827237602 508009742 708189602 531065643 327736644 761548925 326985655 398149013 344755854 713011573 599047355 454488068 724548973 628617845 944460161 335366828 203061431 209756599 930421918 924890762 438243695 777930787 603093352 319428459 272129128 215824203 784429616 779719518 685007169 471625673 748889965 556387483 470692482 785704178 117900917 927204965 153835525 710435807 191901059 290474475 833142948 799422000 893625228 288547653 519782520 922880711 120331219 609202783 758541232 160462162 497316609 677119637 331260942 775887465 406774784 141667737 704956164 488501011 972234591 168518775 634824641 568511514 464366854 697149234 461353877 221174920 371203021 706313919 154513716 212053449 377192503 475199402 858296451 373110567 766303041 241453618 368942424 363712102 839100904 583633149 418551326 102175871 987633368 580400232 118803961 684129917 329430160 802615721 541499446 900810549 911088092 796945883 103374612 888670596 641659575 864414816 407362490 423801809 965143643 944744018 361184245 743003553 813321198 256787713 768404466 525329944 957022652 478361929 270872261 503113717 425748045 842411669 740891736 717375535 854377839 154291212 202806751 473463665 953057431 970497544 273651745 962691407 322137417 806003818 549167525 715723238 925969809 783940918 961603463 396588649 264650176 673751480 133278790 495322580 276088995 585984889 487455331 816297387 271569209 780242683 431473248 688472886 558218783 915259380 404135052 482550785 821021121 666544539 246434697 479649618 273126642 794705912 718316516 326841389 632086568 408690739 918149805 434154400 879189343 860458947 623608023 515877495 415733003 621778228 631851746 585034658 450587563 399915608 590640862 845509599 399225986 984754195 892885188 261294585 906007829 517031658 520082558 110073543 647170671 944127317 852734070 623265115 234651220 687026299 806469530 778100301 119707088 734189697 520696528 224577685 762435473 611921587 459881616 892708516 112820580 699946095 383997484 267890430 426321927 827132248 738125779 319510327 185835600 238781040 543614193 628167790 459652431 408792497 722079539 362724281 947143003 552620384 590828635 951516841 288292556 357415382 824800315 300576101 170709978 422609872 456473175 486415610 928776774 453547224 494637070 976594757 974356121 494038163 725432436 830820995 987902578 326886798 689232716 276085117 828569494 528516489 907379912 765355916 703439540 394342203 636760839 151371169 634678044 652606597 912275293 130183811 943153435 889467299 209457094 129421055 527709850 563040516 179084681 899890868 211527450 358809437 324264289 931154409 285695374 413938283 733890383 453043186 475666288 712830295 600156961 906285640 808278595 250928829 850865559 262221942 725871995 883669355 741344198 613818481 437205353 832151019 956204629 293594347 602302898 285431771 437987888 109372364 667982188 822794919 761548260 265706082 286050621 209355525 140637355 710066999 384042486 611502197 144639632 696787278 735280825 633372130 467621485 549908095 678880690 781450440 841642658 933129765 211780297 685548850 165644114 146611646 926286074 830238438 798250495 621820329 558209020 461883257 278993623 336911791 204203488 709425331 443189304 299232177 262636479 607570274 176606200 317535472 545539097 895970646 792741164 799701592 596218406 374799760 997498499 445480222 714781775 764848720 476401312 908640861 293122526 270267644 111337081 496328750 789993469 691762079 305014071 434845484 642258837 241612845 260385594 162997606 531186544 207377327 351676562 610100401 195223982 254789376 129653109 152843574 464341762 322370477 814570754 271061792 720157855 680419783 215890542 771061520 296433277 448412434 669896921 679890092 751887758 340889398 382314972 903729194 651710062 723911883 543735350 119360501 934463520 410937096 927524604 158010072 714276971 594261455 358404074 643685917 170448857 456075973 226788993 378228327 480421614 708030824 825854461 909787936 498862663 201349711 804900765 636492772 939102476 642177498 307617757 327012184 357377248 665711901 791507167 852782678 563841567 666610752 844167591 766745793 923492608 167775458 569315389 606418819 672043686 211633492 464947971 830852986 638774316 517838673 797810743 763365351 173013676 996646388 578899946 108341499 432053160 961779153 745013334 516409043 923419323 172693045 592092338 219802538 826091670 476696119 717600048 787376127 885903469 174515261 429205366 447538667 417958584 306500333 384033496 821706020 281774413 135899663 680857448 979416239 414430207 479772488 678602444 954865355 167459963 249181179 451523106 770393029 117120515 681466687 803191654 253380347 880332388 714530865 281185102 926639617 646569190 652699594 843679395 364172819 118568679 173933168 985998710 301744033 606324180 826479058 352714941 729388958 561816763 337452083 224483456 824711582 169313915 221716549 659157124 205212443 567817405 903625338 241886031 289528191 366534351 230963063 260986374 663383419 941060279 181281280 568529678 635725482 863710016 835758135 983681561 825504836 451108973 275369779 821816760 162525596 564833119 281999783 518978140 391659212 929302182 972907367 928310899 344264793 149651659 223513100 837277116 873659421 144673166 153178416 533363168 143608609 145228799 788134482 715354048 466860440 809227652 506286606 619923208 742352826 955565580 336351412 514800612 471259960 513295291 149096390 450287469 227488790 896084036 925360812 463516631 851246632 236466416 966750595 858338771 426968734 871379292 975418020 374383030 611773073 949999429 486978438 411510960 341003473 301628344 708555975 709142824 649622660 546494490 892549631 873863007 585216198 159127313 859400667 683082431 322434938 399953817 382641642 635993276 779716947 989566498 496708739 502948785 416146245 603137866 295786695 637641829 398266257 470929489 834030174 161934562 425547700 217689152 727951460 219971654 636605736 113098448 775477453 122571925 976433325 979571668 949652595 900826247 848050929 229263190 148316072 292394205 899257649 385259642 320305261 855896667 838474503 381290971 743444156 895332498 873590756 749926697 833554601 431347495 493157566 309574905 717154925 493961605 778803050 422602164 782126132 478268678 456308869 534447203 407347408 521569980 964354390 647866753 259589528 859615300 968779962 363780262 174939757 599925688 153341552 962041571 747813816 917624610 225609609 116603039 943055179 351358507 262057014 120298373 602304179 164239600 627503230 641968510 933466871 664883867 152166490 681549819 877209506 913649961 437183029 496879015 724877934 613199816 840897594 589166183 110553877 292315279 434540679 963087438 833570857 442765329 705474133 301442210 314735483 512730061 763929400 619053063 662435421 835281278 382107158 112560215 966534924 378293557 178441931 899252841 735110829 331527679 151154257 923509567 836715733 636243956 612316887 118091322 791519199 266455563 487901158 702406622 982552274 308557440 619226118 194416624 675898139 488411928 710345283 692949022 339715525 722156467 304820825 295572401 874859100 412920661 429990150 713202905 903623824 606088784 661452426 983490124 479839025 921083089 725618192 691812172 550362145 199996156 388977269 921808011 949502492 660376548 696926341 755488822 833520099 213749455 212161367 849207314 477860660 368007494 562936931 716874339 405349835 971078658 173921154 899861482 105026591 659526852 818997228 804449735 260610559 574463988 633656644 832220075 234487550 979125602 360351174 717809600 639235601 645628005 850549967 951706276 688232750 510603336 643080477 272009965 757394032 273612252 648234391 326255997 399017703 424471218 694273409 623545023 291338470 766564451 322422456 126298042 841733073 258181197 485522214 321658592 518867451 131432650 482947911 281491213 639391734 330278050 512763338 810718629 640937289 911972562 375786767 777431303 665582885 343104066 280270939 249968670 284222670 972678595 997513311 506953397 378125786 590300472 130892683 291410590 936408429 657797658 542473781 802795214 327105384 680973079 549575567 248804937 724618046 616466079 542085709 736177608 869600088 315440688 746548318 210709002 348006145 306851474 826751207 492222453 102275577 983500681 584759870 774486604 897905346 126025659 349257126 807035070 395163625 451251801 978951910 825637465 614106536 797001873 395977132 470437371 610734903 602848252 801816928 587950055 371459706 716125248 724320829 902464534 210180818 969829373 353812446 951205823 441112546 892421370 514984001 587905957 450849658 940134438 108255109 234135796 314969354 792506675 839416990 759605869 794450367 523316202 571731892 398364468 732328871 938445247 340503953 215397321 903658011 521944327 651725558 427182809 566460561 606802622 752283482 937208657 199583127 709052845 915483936 529453508 439924829 786695980 707301434 677335246 965604605 895293507 343120287 357343907 341467378 555461517 711861061 151343519 389309910 631947129 927753368 656636251 594741752 578407715 115828577 464872839 818970228 416078466 138217034 274786873 287169146 213108516 342034184 969909388 740998411 487047513 459918218 145932833 445165847 121728132 794615817 279897962 379730973 249496707 918481940 169808931 168055398 328537954 158695712 869091569 360751828 242117377 668811442 530461682 347983232 368557667 403970611 945791419 678411965 408449299 500699050 317565956 320170131 887743238 709066514 244004496 293393623 190640761 809312070 666438864 404228213 993979064 570292143 167917265 758577378 555459956 472849994 807220814 112518220 561637849 573603678 250811687 139726654 108453902 224588819 121342680 515642347 146579991 729623954 375265207 661945009 382238936 569207865 252633351 795208611 712999123 698101273 299682856 958435167 560255918 569330930 993595608 296668497 926806889 412487281 183180826 317868321 724297025 176114663 989398312 752077202 373481337 494642423 811220054 836729303 718536098 265860418 604196827 574454301 872438094 714817070 710432896 595033162 602123570 517135139 318195937 246631176 695703372 640242045 601938677 382413393 508912872 415058460 541377049 984652293 315354308 610555521 912435317 821539317 520704225 864659774 640698336 321724467 229634968 882296949 883123137 179863035 742958558 786974914 487169844 967323159 182685584 715019860 767531516 839206629 367657255 694480068 927721409 793253483 753549904 418070385 853275720 604007894 166616692 539159633 410928275 210514677 544092105 281513667 548483551 367003948 308419262 854020477 752186036 393027571 668840620 189442558 399140106 620105062 279455074 286731421 114284439 112567292 744481452 172601376 439640720 107260722 185558497 668133107 133673042 767227385 355508119 575882983 470985549 242216944 883434387 405256357 807626374 523144798 468138369 713922394 819182038 103945553 655820731 560001522 543929833 619382107 232672770 389796806 999389045 553823496 580076055 414429513 419117013 763760979 915760184 877750841 334682851 296881058 359148711 448516011 895326507 348165230 330563782 537114783 317704398 446500474 135478584 424385462 191011779 603464403 758343220 286629522 161258562 210621937 780938085 290477893 868159403 653974974 193768776 149362161 561679713 985403594 558082706 273631260 143747182 136832480 836476750 583951878 785856328 619415862 960189921 981871531 125505133 821100185 664313302 670008010 282898397 161824155 751667948 855292717 482509992 264069483 867859308 360323450 292425417 508073230 631161351 378856697 547599729 581041930 678075752 199168761 325024125 245458238 709365501 907369850 728012855 822610426 503425957 784827384 485329235 235779357 926908737 481908724 103763168 961386501 720147717 253084181 434000168 328780071 768558030 149868834 643280980 414621076 602040676 388965522 496786931 214294922 693748371 193730439 597656852 274918251 684217988 141541774 803206660 496193026 443299361 904566645 345935560 470905698 130188114 732268787 528798600 728661720 173440699 824370845 528879989 355430032 406376961 103206486 558735452 782003024 525281423 684842305 128859295 700645510 768712581 536856400 364755593 351035330 368500957 597951347 408843737 311614339 569689144 574750628 484655613 770096983 613124469 394202165 112451330 819358497 102920621 310625891 658523177 150454102 158761072 938823256 828590033 751085781 441605154 158150777 235664302 598340101 958712345 577745382 468483376 541007149 252753663 172692122 989727557 173253970 593819155 583797591 771720551 975438954 920995645 789659848 405679586 443487381 458446254 620334331 820939106 286383092 529789322 954010414 363591912 990398451 383686080 381887915 965580078 189279545 569903768 277503556 991955242 467725755 549182766 647700099 376818966 587665198 429934245 792389410 475047999 163852769 845366665 315048125 781452208 475258129 495657565 183487140 994907185 678753265 383987076 658356498 667050583 404321359 198760941 934857715 328914653 755086466 659077472 619315279 754906907 519104451 684722688 774456981 861959674 299887143 660591975 900739111 367314823 751080175 129432235 145715666 281462599 335593205 259370585 212924887 337136209 708102221 456674168 509159007 365174337 271910999 271163722 166753523 227326020 168196217 483219963 836662194 414434568 868560188 614910025 689180806 746033605 607732376 905281603 560898170 191904439 101831308 539248933 121236854 400357657 485206324 858185738 956836092 846902835 710003154 377406943 410511240 835469056 618064172 413798559 722817885 347072853 101459893 338564985 667305114 645794277 134739272 960225632 908789962 798359909 213275519 624938975 581202332 928979245 955161076 810995386 542772689 326284801 750047786 718680820 421552542 681978600 348952770 104496348 503172121 951313778 816539522 182143537 424421783 956178508 987447788 166866084 612974870 538575222 417723950 890382142 611590613 812561182 700237445 472314348 166755459 362611695 804590376 807702950 917412394 660923327 995163262 498837711 593468741 460328545 762137357 654530079 577652630 634417174 572148165 849938666 491479896 777149954 750915358 332786283 666958267 834356613 223107741 966473586 343433040 959539732 161538665 219149053 308110747 417136833 988669466 291876775 230356612 881322428 262373355 978732624 103934375 811514073 273602203 368919244 313125977 146492371 745053667 171248646 731081746 137843951 559264363 311745354 519986555 128559356 750301507 113641989 908440219 803629445 701954068 121253109 680062493 520363035 611751715 965717957 980206901 497553956 227274311 222917130 130940383 395492122 602967696 649552808 142299972 378204889 607594613 203982949 557451538 278324809 367081378 738459224 268776478 291307990 276714460 271017340 339719974 142555795 350074327 443198602 210317422 691375475 676220444 687644351 681018898 617096338 290668367 197284917 523827997 607590767 825348519 613479187 429756495 162705245 427001137 485372698 250957029 222699799 935808699 240610385 718362253 241153917 762640144 123031617 866123692 380349277 270095202 222042948 612438083 652394225 503962321 599004341 715041769 955283223 546509910 932178760 852988557 477688939 740645348 525103099 869379421 928759004 267290431 213214254 475998960 767464611 218383441 889716080 425057359 274223643 151737265 495213947 834948045 546349341 417880988 969750489 975637178 345733386 740693377 397054771 661821120 613114983 771438999 599306200 793075302 388285637 593052423 909230340 788702183 328388067 488072031 870065110 276997054 663039747 367337030 673364077 661214487 143367083 181340270 100095045 382778724 712509063 585394583 543828681 726818899 131610873 837883635 880932918 825924151 389845690 792575072 487630750 446194308 920350972 701437988 249961285 423899210 224095769 542515308 107852226 780917437 190381566 833161070 925782719 196118003 816254582 428482294 666821661 416502616 635765408 815727065 293219931 517325426 317563651 703539228 239142179 517511365 565760492 203536532 322985929 129667009 433359753 269457134 551598404 187965252 975407340 589854423 758649249 305415232 593293971 627555703 427903475 745560822 498525668 122415606 848983341 891776615 805872111 577908917 508594412 852552236 571615987 166129194 811218693 833633768 983678909 490744205 932925742 455392428 351785428 766275412 776653536 506650306 845315188 442229660 129430630 473887843 881560137 270293610 194980390 420582753 352547207 203653325 384667741 934607145 147588532 656649391 181502355 111109264 699012685 249867647 748700567 776246317 446578012 769634600 928164550 392163952 764137249 783646197 623709420 769263116 337389159 546849001 622994528 447551196 670692861 729105302 801549083 159685517 969600563 835517734 813194121 424788012 821668487 633100229 983455536 410751059 345103917 202235754 706176871 876000810 881195798 144371202 150092464 391539819 958429722 774288806 437136767 125824112 295313807 524851286 366770077 738863216 343646906 426504771 389323047 107873230 672137553 375354531 105069368 433462173 800368895 640914959 332846792 132961438 675606364 411073261 711402984 455603222 246346741 851455663 705269554 514987160 361671392 944997788 397377341 384665629 665451184 520993454 756982540 277626441 983645971 977879098 730768781 511316288 589928516 638066916 699231183 164049058 157128909 162286470 136426240 890954909 172446082 958619569 271603009 870892176 785434014 355482251 977571347 645187559 205285392 623232389 338494086 625356069 414348688 553901364 108866498 335105306 942349072 761235087 850876068 450938811 243253916 658183173 989087928 503454648 143411035 222619371 319632609 308477294 522835443 958267795 267814023 236075259 740988367 193324679 262676945 510493796 689382169 380714532 893155834 841038441 799841276 559157412 208749893 219421605 566028510 612369691 401104783 262811546 407240632 476113997 350456762 670725065 761254781 722859503 995119575 479859440 854892728 320134907 306478706 439751112 754569131 581583462 821095446 870910658 729249023 565396065 573728087 743151027 179948300 174286363 428207779 511064390 912311144 695231398 188196493 161711308 863321381 464074619 950143775 726358992 631036901 988690902 921306721 549720484 897776556 330383258 141405460 622611688 837022006 503749112 487579542 825121180 960169739 335908601 755525718 728839608 878058127 714440761 478559278 885892276 407503493 278751509 616280768 540049861 122429534 231801340 244552283 156804371 812830957 860936270 895229870 284915422 369531442 451993815 311903072 169076683 454725575 772956678 813968770 334567968 679908553 166083016 635761732 999686602 237492303 151935337 853350800 767609633 327175475 836578123 663192538 847425454 267751024 630746015 250311411 743108551 827748005 282892512 520949292 382212333 356136691 781428352 959366911 240207045 678542498 608659955 991554224 754951896 470795135 310633360 247247181 350198859 388264855 798883513 612907649 508278124 303731314 105745700 722180711 384654668 463091470 751953744 898769651 623042528 289885713 932005645 355068368 714966947 171577125 205435046 375428736 713447067 973645238 835616619 309988081 877909959 782433255 616926091 831549313 243708336 455730250 512628505 555916108 805492383 830766395 896023494 721879379 782140563 931886220 562716646 384517442 308593620 141943757 618049530 936360016 397086865 406576688 870657508 998580146 859718329 737376444 705956530 894544832 484442696 164156931 273426198 902780718 113545080 604801009 168806218 308968558 242578643 450833547 605338770 446007264 530186146 522138153 430010924 598130504 841756897 901795836 243287685 884811571 866875695 697782678 407989266 511260049 289808887 912656719 493340562 866862305 817597795 222439752 997349816 787117081 333857493 382466253 162937112 914440146 751245933 240827577 585813605 440537478 268873967 779907542 708270404 480480972 308807921 112848531 974393584 127603656 515693723 578112706 788099807 727361037 575754430 454596762 346357213 996713633 199368849 142892210 655967257 898230617 971474073 356722362 998155223 360227436 654327303 968529167 479623841 745407099 544402300 692651782 451133515 210497726 519989598 986498346 316185002 752738083 736054811 260304719 557759617 504216406 659349201 444615365 985779625 871400986 315665390 755911571 451448985 641960583 316118562 814748682 939281684 498738832 172100031 465258395 726558162 888912114 882581926 732358808 677716777 672402989 657980814 412249835 164257865 475368120 363389035 529029252 675638704 295208466 574325647 449568584 592000709 153140920 713333944 402762426 522630779 839909353 248319960 366722347 183910081 305754204 208418646 425188528 189106911 730748564 731784552 307944614 900873893 274782439 237009105 257203559 953075681 928281970 551954480 786031844 274261018 439110703 387205011 487776135 546270884 216808248 717264209 568858518 300323368 674771120 279202779 768021370 309215526 748445769 928936020 274852821 211395789 111508732 483417199 177889483 523040277 592312368 768293972 814793325 750921464 323027557 253137343 997262671 517206168 788692104 882781863 118809594 291894572 702083092 228207041 855417220 196747950 527075322 879865565 377461068 733069003 935051571 134021160 726913771 176543067 665109961 589205845 503302684 646418067 537002410 324818141 992485483 352848075 551863737 675217148 359465267 152257538 411926426 450293083 444809642 209456674 817801535 399279710 386994244 358818349 609040138 942982171 553248171 903559184 458079559 973986063 542173668 180277675 293520786 563457570 556650905 337575337 325008761 722362388 865863123 664885344 355153040 801331954 815484440 653931039 879551279 707752591 135609911 532545051 370576758 108170912 915464754 891515175 589462379 688293454 364028332 753559411 308600586 931596052 832623006 170644188 242815058 788034853 591221210 356109366 787082885 182208367 866631955 543081598 892969027 969699988 398492061 424921630 824169952 158700755 570973337 823020052 988540811 297264836 217955247 515825025 239544149 414086145 889428663 604174296 979855292 596459613 592234407 434753779 178740221 534762958 240016370 409637283 251105413 446560030 504578670 493931922 644100458 881362597 334003464 471062286 241949958 247104873 799005843 513324384 624776742 382028929 803733107 195690521 988381741 804874475 634064263 686622703 532290346 598834467 305994628 394025139 246767673 858123140 510902067 402115847 130826668 203250136 531561731 973390518 835422023 242268091 110527036 578791211 528209335 464373849 642403032 279095430 686662838 760569576 639903028 624471349 547708218 720758976 502402496 835080068 250369626 753490339 508325761 432318006 755488640 481666322 840836799 622927165 877670094 466700676 966120059 976533076 383582891 656266047 495196954 725326927 237696175 308430019 720167249 431330595 374919969 230479754 798967323 722055385 304622703 818074192 631640232 446690684 998359207 714947451 673614921 232725380 962115122 561994925 712754276 680508738 979414483 984813165 162538954 441997241 529459059 984745259 215700629 403297925 221755561 491198441 487611521 715702386 554541959 543113503 184817517 645643183 681175468 471515247 573048327 191738807 981834347 695078486 892816568 481501542 601657811 192322756 822522979 458498139 806802101 316435187 708702695 215768595 450473663 459434078 619221977 356888219 687003117 142850803 819884366 105414995 594515865 210980632 849458044 249756312 211117584 502545589 991368663 626649746 804346341 642888950 282953055 106942676 241908560 431654428 496449994 829158468 572687816 772905719 505978750 954507802 338713168 840262647 666263368 925174438 681374349 488175254 767908204 264925000 782350526 329137083 712614969 838784060 767515765 960572502 940720090 288311338 272468385 306317135 827091828 731503782 959099430 757741418 613802740 229129281 600710488 715454102 506035872 409094531 372337926 401268911 397610772 560223378 431465804 754633041 255581580 208452200 450458502 523083382 838263544 455307300 702876215 905253187 404310371 476529178 962753047 706277875 200491840 338532015 160027503 557909849 775720051 720864993 162612243 428451504 696485298 146745294 659044348 426891143 407074580 790832171 680579199 150430995 948315249 913687123 364805845 754504865 702311356 229739424 608174603 300608231 176333717 775715736 958538348 545463350 900710078 490171004 613005258 344307471 886652391 476933525 133488871 887507393 788491241 583681703 103900673 632455084 794869386 979519298 514240973 912392625 509381011 200808096 184311378 811853523 886634045 333298155 756542954 732884337 893999612 801741905 108982999 598920645 180368324 742131115 523397507 436349736 503368087 841266801 193907527 625041256 842956309 297877858 828264451 246909983 157344403 883404193 928092434 249167600 802232679 129131285 188143552 355569770 157755125 883552442 961908312 666384508 811021534 110862092 303600821 332863464 693755772 493304909 118178034 692351064 456201885 193895202 487326244 320581571 277347427 688195180 527987364 963592240 452702997 955233458 204783285 808154185 355317472 719198633 869799579 922671441 574596026 894401332 505744404 472978355 109854126 577868525 393096473 392484709 267337249 399510443 734909200 568034856 943881408 856209179 281776871 918844999 349946556 373261701 298730822 683797988 816035221 707266135 867141616 688406648 368597440 856991507 133620799 185591902 293919166 434553777 289719885 840479546 125572336 954056706 246056066 974775105 149894880 167597186 424572102 530559096 958211700 228981417 816776255 183015812 141933203 866868038 972123394 913921315 744083742 357948503 394927371 144120434 729793777 494024185 636206708 451101490 205578165 986345840 423841289 474045615 272389693 203730500 201352646 150102680 844630043 812942513 513714515 898883043 243740227 698030780 549234585 292385693 230155552 152729271 968173950 103709995 270341864 530614882 980662380 612530943 408386277 332624095 442485946 559992080 409573102 279397756 829430664 750627417 452825350 759877717 887270153 474717514 876536829 882209550 632835652 352983226 677570096 979029873 393403061 233242947 642885388 419366615 963639536 329654030 855483712 593051967 502963375 323443952 933316481 562558890 345690761 230310397 277780567 437661011 411897486 322345247 636895389 718936051 599687119 579160977 769720135 214986162 964458703 229514590 148199509 816725234 393994710 220990394 888603907 932035584 698947047 642290963 682937292 220973591 245707650 739186999 798091103 713059283 190501947 113693341 605491206 225998398 131136736 176331620 149388876 661578794 755425030 538102996 476183870 358182460 627882441 686978036 474967376 309060637 571103746 715935795 371640820 961309940 113321861 606277872 313665944 238036949 873857854 411242256 831415462 521664537 467232808 303938077 598408619 189718536 259508428 986535826 983102018 793872024 918732668 913022115 803030818 722371382 182596396 935067002 269200297 652556573 354432261 910870220 497986812 323633531 492291625 442238515 551175638 563644180 838773963 894632012 739967489 482136246 867968818 417513599 542040031 291996078 247530451 782289340 523354540 385373806 311374891 347639810 923393708 700368799 488695556 475526886 930462743 220414637 518650794 584200910 266532397 785432357 754427540 951461441 406396133 603088266 543988488 763282308 797536189 730325129 810428752 441219253 998467837 738784743 858459481 358429006 454860568 172082199 513994578 326639651 994728123 209146842 546917095 578121937 779872790 681045899 473118164 840491429 646916887 677154377 727703575 111928606 194113282 256998191 274969529 177940691 814385954 321958806 501410222 767908143 993532918 803500650 763938456 488732786 145706237 955599989 269230347 428778090 303248863 597724260 382533692 992007781 255739051 193239086 854872304 854585056 268080590 993416808 970775391 892718909 557947398 454641679 887116686 942476346 569638225 858143741 302925450 850368178 534263363 450048498 278742203 212634776 407861778 523859641 690842248 962052579 150890998 359467169 221297657 896570588 924918892 639181121 680897972 880233043 705259456 730172616 593283226 188713198 674480055 723419466 623023909 953342071 966385666 119456505 498220326 918379706 974089338 363626458 796504511 785626344 874312590 324690222 274508713 772983316 164694747 361899629 315653755 786741439 571496151 214267638 799086551 523655540 879711259 378075138 870202622 764502256 399654388 796010562 325291062 401943113 459458653 144686720 309580768 902189618 575518384 704505536 511082542 972295740 947949452 886930690 738641686 361174558 134529862 996560129 220370205 696578190 868378254 281266512 835970621 928273187 179509155 619669375 805509141 272874622 376160174 413965184 743817733 529620740 983104196 439227188 314891339 203464171 794510077 174615328 981406857 142012810 801524472 239573562 446498861 435443660 298504147 338931452 522830474 635578840 221583049 310423814 829147744 549788404 112459638 129034247 496906982 403217816 251399463 701429448 705749159 898413011 650496131 580034413 466367438 434944217 800326134 962741422 153387771 712561971 357449917 987615790 491365055 798065979 314259786 561591673 609870746 637756508 281207413 593644682 534047897 747638097 618934085 869556361 816455878 720429367 180047769 530343916 111798439 310682444 581923123 520599289 629258431 294461572 825786816 169067886 553592011 393010117 874568814 926405159 224126115 879634423 808379136 406759715 385639472 306670946 125633563 101374173 755457748 812769030 460164769 337928660 613630699 173766833 241334047 654893460 410466258 157093246 752013771 241076769 304060592 807441785 118282652 143723762 985201995 733616622 644442850 848314609 850505621 111512916 812546583 850747024 280200341 793786632 914369762 971663221 753798206 922207933 652524821 533045371 123141309 981944989 352269115 553158109 142954864 896099411 676650691 178937135 798255166 782265609 343029492 408090050 929096567 535925777 827434702 265565165 776520850 799618263 623805890 122694966 225253488 973936297 904942488 673340571 371480345 611634211 884717799 718965811 319763677 675034827 298502069 801110223 597993613 498346810 734125931 228494105 798972632 308298484 773691123 332071261 363108356 750683549 404009299 809446945 305264412 207836089 770162207 805291568 187459014 226575870 267797300 682236702 743340003 540817922 755779973 739728106 249859350 337356932 159574235 966038137 595428210 643975374 433085023 453158978 853276651 293633588 882835290 807257150 108421993 260020245 135980442 882587393 318048653 117085888 407649901 399105383 473014440 658123018 194371313 947053464 434434620 670865034 114719031 129981329 313813816 543478874 888307945 104357034 363807176 213895394 861121805 197696140 251044633 928610334 218409297 287517557 394087220 364469578 430489636 526186352 186364221 936034786 953775733 264087672 589360386 672062788 631190201 256110340 178561387 563104715 220753473 109805996 530304795 494444862 491541644 464721131 567802433 957093024 587192411 943635373 913917294 518928527 986412980 478625168 828131298 481055103 467531551 742936000 622864512 283467517 858458863 415315565 961300185 736269707 240860882 763865860 110482056 506774087 706650100 299812619 587278487 154908650 849279141 375819351 261226021 494591893 789246411 376331634 123625580 297071492 633871561 589818861 844383607 815359699 762476373 176049312 120376990 234059570 395154664 289255036 562078546 406077352 478254180 213548925 748909401 982094874 163429227 143637837 214869964 745246107 883808916 890590800 182916652 410497656 668920342 954365201 290454452 847305133 527904999 771147962 251434231 809984671 585500890 162994750 565219908 329441576 283722876 966396580 764414264 814933091 246839697 688001349 840694322 136639444 344840975 374395417 883501116 586328040 968015516 133404233 141158842 136254387 468477409 552103578 493342155 687067949 453253228 887718582 710392134 330383241 206131788 808384709 472449871 118793864 168145253 722067896 694512642 512530205 764297546 565378622 466467624 377950813 463726126 331901328 682734358 335245867 423507615 568724482 530812464 597825051 964635278 852907174 361227017 644909925 194339064 802557368 288231281 976949279 125989335 864445195 307605543 787409293 176955206 299523016 370799256 291264792 715390261 796771975 498869833 288187897 704578928 458993730 247006753 539612052 516327615 518296271 736005361 238050343 676812201 931587980 893470278 354485980 286814403 358197668 861396057 388356390 793796050 261887947 169551617 791850136 270573198 347534961 716074376 399675152 513570737 476927558 882338862 927838588 686670444 368824400 250744541 665888415 759454794 175869083 100345469 662898230 691007110 780492076 728463664 315659180 631101977 609167107 686658933 621986900 609330729 887152839 549916197 658755173 600832472 145044584 233955689 453812593 466997255 593448273 875597982 521073051 823617182 732769048 625517409 262619235 773406203 798178595 653436269 320272327 805924532 317914334 906344176 678635675 535417418 389469341 122554332 729917361 339399605 841272211 660581636 389048536 712450599 583534793 475395814 181391630 280772949 330013079 198940098 461981696 161864023 261321265 728060332 666320646 417961534 946930662 597511218 995059046 708746459 275462552 887523271 664563104 418408441 615986354 436128926 492262085 158871862 254211073 324281373 907425034 894840969 792365857 704046339 403889849 694987147 541781611 988543573 604432023 104052672 600323907 905949721 472768656 934294194 654421097 701448903 724519203 519216296 511181823 521010579 181983746 909006618 123416971 976574517 308865905 223907027 526793748 414569858 499330894 906501227 155609893 636344279 719907755 445091092 461980705 135905040 391905714 607991203 613590417 649706753 619001652 505069170 972364703 309683866 692510021 814037702 436761617 577026450 901635383 407262170 741637097 599644550 582097889 549285329 450536373 963052033 625474481 502124432 403310326 966710813 538021003 489471253 485954350 435110627 671728040 437602219 661109015 421082805 514629023 747229846 734855720 373237088 760531746 513689847 851883460 644392129 671249091 604365630 802099871 415989243 446879361 586256520 999000335 930641431 418163086 146366681 401731252 364306839 888940487 397234715 945182688 424815917 867411337 629669568 159152476 829511571 117063959 333580834 691975372 926339218 921534258 350822625 445072413 402455152 304876609 149781596 165508007 649612062 415176527 884257436 485070162 800649579 788951351 258872413 452974670 479281326 957934939 154163016 417728140 258197308 538625868 472638845 166389167 276700565 717335547 943803083 294032588 867107620 205579628 534317469 470546304 808756163 473321735 539015346 443744146 983009889 661074990 522144414 706457546 550836917 884618744 842560824 860448877 871985150 570206940 645635022 410293893 858982688 233701922 249648984 986557484 726642003 253751227 460337623 235609440 762363174 455388595 810970263 878446735 763514111 665477905 975372289 631538605 107553973 162699211 452903683 698141508 775549137 534139628 778849691 352067070 902252814 821648712 804239451 340293484 141351545 960018267 925411606 993404843 360011607 562004084 456222421 290133770 456408220 764695901 481185948 115965408 574644111 391791855 714496013 179314428 146450469 187531192 345871331 915627931 967503400 631907177 443430984 349311250 318564855 410507719 332539927 186613557 383330321 222838743 256745575 654279076 169495848 260223006 496633597 337576295 991961712 826318943 966491380 767011382 435746434 266828102 333801179 669336116 431796971 293318084 407924556 259852329 919291577 250019828 981589041 366669905 404331021 186090070 279089909 842719831 632899582 499075620 172406722 996431356 985752943 685899063 349103365 535946237 446870316 820863228 965835479 800127017 307081345 355315969 228028363 913221451 947391611 231455593 878385880 439114825 532404230 209113092 349920249 275999751 277198963 363227447 330364601 776368844 358776365 386384267 747363337 714481193 978832722 694939073 542572085 903906862 382844309 541720030 330724656 756917474 615285343 901443066 236418100 757185242 246583619 238493250 404140833 422142363 781121507 112245437 755483029 194857657 289965047 350494817 512522979 326222274 715240330 349389763 409129783 610869393 938735137 861011099 935261607 634820250 552001486 942936437 606394363 194791011 393710792 889742739 479208600 770882565 969556529 485465024 302569660 965244670 819405446 851727195 237493757 334560636 756227999 189923733 630640165 547991441 674292184 100851135 418704009 263484276 878646632 339141040 740232098 886447229 996578517 744484941 803222197 379928771 366099615 519618389 757423493 366565847 535093405 139340421 123987245 271875466 185714872 844818998 345816250 665234844 941583526 838783309 640394766 504530686 317774700 518230804 763186913 111909876 224766409 326460927 979714561 837642151 958111663 259250101 242588533 943019096 495356868 302224975 970751737 533166338 270930005 835473431 467783075 594439289 518183838 978139816 922972376 684379770 709135114 891548379 269653399 901537279 725805024 952789751 405290465 693627019 114876979 964314453 302428769 795272361 297869197 183736854 156702127 526821437 157901785 937929657 308719271 949303522 423249361 850834999 877084292 942643841 482675998 569325022 498399392 416242714 192689139 907167303 752075188 132020423 665270109 257686617 997199686 430639667 821609289 458228340 537690948 427464818 224877636 760166754 292102482 945001174 658028108 322636031 777479344 568542065 130314120 213528870 340469568 537172252 744320149 759031533 285851143 928183370 341588944 263146692 643077005 642140715 831581480 751432797 677646154 483577365 123341867 650154672 101244459 209130023 200255220 245343211 639923176 105875984 682402896 999579667 865744114 509733447 505368043 196181002 452020188 719013548 735999049 392547462 195021498 282750489 670328632 549694170 827509596 403223858 139504964 647496825 681367127 940354401 634174927 921441985 621557387 326261068 106349694 171308128 781321732 611313240 623217877 614656015 907202508 530336535 160521905 146565636 220221933 370851582 436288321 821707376 393535324 193222575 304407667 207175463 472566933 356692180 443682750 608580902 237340359 490743331 459679877 408515198 741670992 691439302 434836199 400894859 140155108 910523611 248902786 647468556 728260626 364877297 267389578 376625843 817244517 626585746 257917034 381537226 518792215 406661444 955389574 382597582 931590625 459806563 731720939 907810044 315777727 103700862 297559805 830946608 635106172 892836601 898923852 717564758 241665120 901073579 443668086 526050605 439840654 170728942 611534859 592486805 171035578 952585968 350937156 884312817 780216414 262714370 695590391 365536412 218512024 795504726 261563761 847265986 585510451 677687939 525373298 631010084 504512256 952947545 212116815 205444246 733579161 470959670 263245017 624594253 594044045 380047848 402892262 867190868 454820385 462553565 302482051 700596517 475021225 200649793 101519242 417014669 214353806 234553967 622962406 630982358 576049534 554801029 277773716 818187870 496523944 324319913 202807524 576565478 145569577 131241129 839032983 728546236 266248357 500758702 585677649 646315787 340809802 491833461 746560474 412291111 145587715 568486613 594652577 821666855 250859128 572731059 774356296 661500183 541655395 671044675 509573062 197851808 462653708 442957664 570892216 688491195 657353822 423735247 230139912 319643019 127815918 114156849 379330776 792752123 342765457 346932305 940953541 806862681 918581437 576386810 442565462 914734825 280979496 543062380 649782318 542366571 388013681 745871671 804623532 664202330 872838910 904077523 165973836 707066229 735085065 858876307 460901800 328592228 201723323 106989130 281756543 989757060 616666765 427239916 109165586 759922569 914635815 574246036 989319458 977873496 160033211 121778084 708537674 971924741 910291944 691949680 366426445 403679271 917097266 111809023 239416516 322866532 480150461 666074982 388411040 281240337 274224366 462092265 165171158 618349994 994786397 174333841 758121389 535996998 187081660 829231569 757574752 637043918 704674932 223919204 505480914 572276138 196810763 167415851 454681906 639724306 856605001 739692889 471541084 717745327 317060066 397571523 286690776 914029149 236954038 730839582 546068194 441768558 981238991 729641783 772775380 804608714 954831748 858693482 656541065 895206291 804051243 810617697 153223770 763934072 883213761 721186056 406595268 423907312 286859089 504392160 208536874 914899050 564837782 382058364 177337792 744666576 484925614 848941809 799178499 457501338 252934208 985145189 508695015 278912740 593306271 436289043 263536744 519456691 609963970 880949196 124273953 239357298 537838888 833040408 850625679 942886960 595554344 524141357 955226224 244066811 606547042 593455850 880320383 393372529 308591678 420403271 615980896 743474137 125881622 168051753 852321839 818611947 725751893 190442692 100854394 536314677 164609681 172988527 573105278 340046941 553933485 358735720 495169064 313085150 485555140 393720757 128416914 102317934 878885681 456914005 472965039 343022663 658590728 405968730 207470318 105749309 463119431 504782301 309960714 643074669 669933929 670534462 872857253 997926976 340946041 920424886 814902157 963608013 685991816 238003165 975944852 644085889 838495526 580278041 555971924 605123067 833595095 200548171 576041257 432266670 100253674 327867476 916320125 526477688 271965221 529158437 241645187 114352672 840785098 477179356 701309289 682426538 888363435 594824371 910890371 287372361 385982761 982021586 190746974 270385105 798524511 838689178 768166899 294468144 534999017 503948256 739570419 945125664 663765305 907033157 233113078 134047509 859481937 666603584 419331943 610462542 115586902 741577348 571232916 684802285 820218650 537122793 769745160 777556436 592904235 818221850 260316273 718067756 192419518 940144577 223824854 104321886 235194022 539553412 535867274 781945261 136084746 193320459 771097787 914262879 647541428 410282071 619915774 194534124 755059802 591863265 391971128 897698875 435454990 845420339 400940992 470608809 694219036 846135331 660309710 630336734 405703619 503001659 107687047 468777247 510795656 359262462 823148829 335789860 825985116 564110241 379424196 143509575 546367428 248924705 610025649 127671383 435472994 738654608 762769948 591995384 173866356 443847042 565131067 594393735 262951763 785099374 829737121 109987171 170990728 330579108 871243624 453339075 738396805 298903948 652981457 419601569 472578036 103286839 795599795 545696982 388413436 535528512 667463220 453111864 771690775 852541587 402125439 956316480 202217031 728405175 712188231 190959747 868326434 613334033 718396549 754405619 869360416 924828212 831641924 167013525 672024461 850050909 204131752 999845626 996093335 790822104 490292774 184389817 649925998 202005918 166469050 625547188 506620327 256356758 199936946 189269199 180716375 921464720 895948997 149777248 569315055 637329645 980587084 835608025 808527999 316264930 927414029 855427811 316050966 969951513 446013208 959083666 761673301 436658734 113796097 558855817 873550790 160206352 859198967 875322789 549035803 705604257 392742831 159522328 599773514 517870822 828340932 792831839 166360194 857101796 376937351 177413551 101756349 382248130 559715373 302375252 433388873 762019622 430818880 806623419 815610211 297234314 257612430 786802018 109732369 415368132 928172362 480890618 101800542 708314304 326975053 279516015 500927583 933620573 427836159 523715971 468310646 879350186 118067165 947411014 715069190 979832459 685103876 212468903 996629058 175537089 540513536 892240389 697392009 417485853 766714515 904705312 546349781 346344285 757418943 881221486 911675725 925802964 688963241 656277127 822189783 845909441 445821725 959657794 166756554 729916372 844216561 969041061 370027717 433234276 962384716 706123842 446126121 562062350 524705764 866625370 825049897 754448038 801825806 547650335 120549656 865720329 485719740 875320218 316512578 668370678 690499358 596125794 121865558 702357493 161798956 647986404 308669448 802938064 906361352 621273027 131354480 359682654 372148649 889818580 243814086 219699814 600601889 558026061 237632641 203414708 136183909 965520925 250285273 940525008 989271469 352120529 480881912 732787561 897962190 963531897 860606224 597901983 844363024 513805109 871788228 374564270 641589529 288846344 209162827 501605132 722030994 972273867 336082120 201538860 769989902 675663230 958299161 666581524 558412981 455682658 672326716 341752218 921758233 160518489 134003143 524731953 648048909 741400030 983785484 550627948 457032494 250867422 479172184 942255443 134061197 635437025 660247263 426349150 878609164 312101315 520280920 769881356 655037181 356573981 451790956 185349631 228432517 299099857 144450277 588125113 828076961 452130591 364291946 860843060 406476420 160031977 221443355 394296263 245998184 429061376 945173057 692858987 382917232 598128290 607201157 386128638 958345417 611200001 389452043 599153696 279165211 586231675 613144020 458393517 363519115 560834934 910096259 795492243 261755751 365071456 962072033 430290096 218103400 661400186 273475666 508793147 722721859 766009982 772106823 620590691 385547999 160205528 872110029 970217279 158396204 560435850 658962340 844774321 261881322 845824531 257489001 697210809 729404364 883020561 773971180 552407034 718263753 925294594 151202699 149007090 571734048 284660024 306414891 458988469 570938317 766007832 763797083 696372993 955814846 375137628 104215308 581293555 236017965 582517668 319587785 917512552 416297534 345589430 384774009 953481811 287576882 471722768 761935846 479498641 447134429 854735421 147000771 335158355 375381961 267091539 307505352 315165807 312146438 200157249 318865826 142716829 185208362 841799538 674926525 109691005 534279462 193565414 271143861 592838817 976587566 620829199 521936406 919238496 897911457 469822334 248406722 474354390 932937779 808419595 108533966 733994260 602876008 207953748 859532936 684390000 994226146 471411527 971895545 432680863 869362187 532796108 531163576 380230999 298903939 266269345 659536509 682907920 317707307 310569828 972929838 963221426 684030262 701255151 579444792 146227120 263130778 212230323 450104837 243051847 717942645 696900474 661721050 226189907 303881373 729968629 962571948 846950921 860842393 612057376 357777703 958089527 187314759 448908940 724936472 503757869 899557127 925550241 784174186 511636327 844761854 616835003 255967520 692250289 724906478 509554994 859926522 775401164 341454272 857807167 411400103 405414727 119266776 182726159 567675375 616784309 146584954 802149912 781004775 887183165 873314164 504190499 734424441 420847450 718617446 943713733 356889926 434211250 191600428 675814178 766063507 668017114 845102655 761391189 795047116 854998765 784385109 214067477 431460084 963658260 432887437 552976196 305444085 708120847 978867923 841418202 294334121 236188208 249469406 466683489 455822840 952659374 937673204 705218850 383063756 294221148 769318764 332707798 639677651 726943584 848330903 499110171 525928774 863243525 814930926 920295553 543448530 862522199 742512646 877153051 106594086 743562862 662776056 275790246 754264854 202636113 463822434 192595635 268432726 490149401 386111495 609287321 314880304 255143378 444003548 796532141 831131056 102709522 625580773 446622546 610526793 844537088 934378795 495409469 625999371 662288203 766420908 407827381 534761793 525105519 387210329 626975892 332071298 216635026 610625008 641064064 224973516 103297110 777566084 642459460 700774466 268007334 241310346 203442196 942180725 233573186 240220745 984040396 757957205 645264279 724046914 837189051 164813925 926516455 152988350 104694582 890259370 299930309 495577716 839409940 241843693 108396954 892821467 689902888 389596215 916091559 294025011 637623480 151458216 819279464 729069395 512578560 526777992 504126830 402669105 257152561 773449493 244360757 383738550 942302521 621233326 329077553 924640423 410874589 135858666 818325522 632808610 551332395 453243916 976831636 956106012 764837868 171327306 267562450 994326814 441329098 510794708 461353023 512918968 954394376 426284187 834712620 694854443 771205704 328615567 615622702 655881790 773378476 841082668 395281808 225762457 294108295 571661204 979982393 501789241 430718576 987134931 763171653 582584605 513458422 517994975 186078028 803207371 769559347 769873856 481287694 148138741 967546761 632238314 521610622 583229048 107137554 636382816 434789780 953667450 839554947 126536579 231219540 450702514 847572419 316915150 498168941 946234255 760088546 757286393 603404776 284373155 427283233 671861656 825143971 285259051 223535441 366774744 680162316 952700234 416489015 442643225 796070011 146927686 698718111 720020409 975715312 843416897 258401920 304175711 437134986 802752326 288991733 995623670 497577521 840423654 949866101 373093369 825309969 256776488 299892200 359105183 947845703 586484140 426756137 147246253 452440884 835664068 825017312 417120038 137061170 952735336 808131535 539442419 731504038 156832167 376602814 583415764 913728156 555259443 460083716 409268715 344977953 915785443 276780317 739263601 313212333 161840125 782650371 657794227 197818892 809647747 432326443 758966193 329778524 491465315 469311284 336552501 908974345 728387598 538682215 128348720 692338473 634052794 914399445 828251100 872245681 481132420 665399112 895527079 707700587 372004173 974205429 213751607 899477714 130477447 770438264 195012246 125104968 359180538 441805467 539797099 459787381 746807231 825004118 663111063 626224217 868398895 272512655 831178242 515465681 859787275 893783533 716427204 848238365 623483734 366933828 979369191 928729641 338071489 288072435 672818640 308541455 234461623 373212500 126055140 573984848 263070391 890794764 117404639 682026252 136153414 956150946 179995793 367481477 538340058 228057492 647667023 553905445 767036284 157739846 363237582 141990756 605065193 739749522 553165978 139914503 193857976 533419106 313052642 160155349 977333123 636847150 416342580 272982804 938057594 246380348 695705103 400375861 613415356 649541906 806705314 595091942 376048184 858669281 788691000 392586254 513292356 155998431 780985027 122663231 101612593 612865402 522010483 859490614 534177345 561787176 946961218 518533849 316664269 238691265 500660520 497597855 517152298 293611325 259075436 743070604 130405537 889319423 932988035 892031765 573234313 929145973 593242882 760065288 556174765 577906907 409922175 625298098 120981915 645115803 320285131 161906249 485411677 388833594 810601109 610184945 606761030 695336421 541264073 760145269 518892041 295238172 568853117 827835151 781273361 282670992 941270304 206780098 550540205 944408626 631147025 736800222 259115809 712988317 221170770 139622352 463658083 306919625 633815019 555537168 923051516 701209761 447989695 213562926 504864621 897217317 988376687 713062132 918689437 586940915 689087015 584461179 510932352 546716827 864407025 639344410 323716933 443859687 828323374 263987802 960516438 338071925 348540281 850242444 838252638 368031172 315048643 135676886 206047499 493847912 348716257 471733197 316419269 611999546 762510318 324028010 537015804 762228715 193123128 763663236 407790706 833239050 840958814 428048299 239911467 572563900 297849185 484795925 116514034 836068690 285776686 585884292 407528164 725418763 613361110 654600277 371852342 667548140 170914040 942552464 182543187 549644108 863257133 835802698 260211502 801514492 837089560 986338697 782633486 202352234 147806034 498484646 698124320 565795738 483852525 637120023 883842749 677633093 922267020 564655989 656997183 151067127 645932366 586804631 150923378 527870059 970118636 818147529 866864156 789337023 595699411 856913996 810806750 573527281 750324129 696782971 330910208 945156853 166773404 544941126 262619817 782005850 305611668 973905004 859580060 559448267 755828538 533416269 304233991 977401072 222685755 627287476 890037240 983283150 148828971 844482562 557174406 629050932 308041427 360845123 942651688 122149616 370485174 587125397 552166985 597563391 611761815 637791760 258525617 355114789 477652122 738215911 592308314 466808003 408659067 111936910 726541958 604794479 969891862 986039295 307288545 534900054 951064074 718426827 147154783 572340389 241429667 292738002 647472620 510039018 360639819 295648652 964113555 774374235 167785075 585312777 729091324 834906021 754917509 715650534 365919289 152785841 816472087 536195403 550332635 636457075 322149873 282607174 309815197 285139810 409230581 439726904 491407887 597076558 574584040 920443236 160171433 938713241 667723101 147689156 986939759 830508458 529803064 470639680 474607009 466891897 231798729 752415633 743358031 883765462 405016181 490467819 978987416 861977137 333887368 428455660 452098339 159026084 572977039 627676320 724629248 850088542 930116578 131256401 383678090 264297926 459870774 687443744 610835535 755733335 142021797 180935921 464697084 930328658 387362500 645113357 910140291 690982878 751981986 298168104 183911117 175998852 560748557 340725680 343852229 780126307 891924195 911434566 835750634 266235514 398945354 617029568 368438865 882076022 351385042 253018825 588098629 112339180 620556150 782254233 297178256 989074979 599904437 352007266 802481308 728084588 430587518 854317740 541159111 281079489 945577668 868281850 104321984 833784034 240395083 709263229 649111574 325758428 127827945 101936227 275181569 107168286 120330922 339822409 549276635 631976432 341788182 437225795 278254368 452649851 656830822 678950579 277280835 453314095 724219018 600572405 171943556 476932272 887955715 532360308 554541910 719491534 483513876 515595783 105031896 435685489 455643508 517160549 310833203 328734705 494101543 345306170 205156394 947226233 996512079 368658811 563204569 173191917 551360420 552057681 651402803 455443900 554637069 278883092 329494903 225047561 163074362 976133661 760625943 443437147 320015290 504865343 250917679 821602190 562896743 827707844 164693522 354300444 373160373 540267853 725449507 119173635 646412930 906526708 348593149 256724628 107943680 869665068 157169369 614851322 456509575 438198390 918391533 358813741 398854717 909377520 767493381 570735802 377176676 759707654 835757471 798209620 419396264 942902423 102501253 398707778 377798842 460894924 615102506 463412195 592338232 549555006 347341409 392885552 502938568 258987531 313870448 280001809 849219549 545810933 591328479 584893006 821228922 287507725 845401890 499607385 979804878 743589626 881086199 377297929 243449162 927644064 371870297 373886355 708120065 719589116 108248106 832045163 380960302 628586033 501532703 109008433 159948752 791847664 324356780 971200608 916446550 331766603 619729398 473614566 823489861 524474961 453058150 558012320 610412725 680381899 276340857 629853359 361545767 833332104 750168124 668686365 333013723 147317550 954131068 846049820 194594556 808210789 990471411 354559791 897970231 969408120 655389563 399335606 714939164 703433856 612524652 874190533 930885592 725565140 335220725 836289150 101020861 163535819 164224471 160499267 107253812 345398120 488579758 940326953 244883930 445229833 165331592 734580623 339247883 110301366 764071497 562493219 189574561 307801319 309186778 986151328 964153682 696500631 406873297 700354543 329074621 805548861 598054895 527791857 149637988 634376071 948421177 870800314 299240359 484680906 818498254 112458377 132417556 242418382 513067982 862603248 284993568 682278814 790661722 839174704 668110102 108754171 225980514 913348383 550292333 238984712 396812292 704273211 887600274 704343109 445189163 266505380 540843522 764478719 152009334 519551856 290906047 590512208 966046925 167003925 584690467 721383349 464565576 212542971 682296507 546294523 926026869 341847382 434224873 969225448 406480821 578587227 235651045 882866047 750749157 919263315 179840049 302407095 477518525 673696685 139132758 287801434 321970942 316758591 906991006 866510005 877016072 660008498 807494693 163766182 279514929 959032699 619844979 383986258 606212859 688661059 135840761 544244415 569512324 483058890 996476843 801666700 265486690 249691936 576890342 113169158 301667316 315802476 406501808 261104222 624813919 437690082 429707529 799731407 324211663 514603926 797265666 743109160 419777577 839262118 728723785 525466384 401686674 388225399 427732813 889827097 809597889 824972123 276511922 303732669 279163391 661468612 577892327 989166860 675454019 866440435 583240120 353235049 449858574 742450060 985092357 847359192 153730409 318689669 995323050 978987337 189753350 775123421 201761740 600228482 522790286 787152809 509958092 497237755 230651331 853710481 236100359 278721070 952558915 474287571 542129645 124103552 810523813 229624433 297316877 558237596 279809992 372130328 718415329 123564688 640481223 566168877 606934223 532250028 431911870 458702954 209299925 182036353 933299348 158975395 376441805 710058363 301551669 766263615 387339541 303789751 642655022 323007354 776537651 372932348 600863690 778732768 365476533 613324548 576129781 496389384 642098562 357848075 103482720 173957449 146518086 224881164 288119983 446343154 811234431 353087118 881138923 965722800 401315226 413622031 427401341 223936118 203183732 443464629 498657514 262743058 573858746 249218361 222933210 308976123 626263032 727958481 988540549 252776950 633761216 620690998 522607479 734054806 428147661 280257661 485051108 134704267 499477649 207582428 753778685 404080694 385023651 957725195 203066613 909939416 544868411 722800327 254084122 995721114 374085151 654429882 228435061 739772909 153999538 199264088 657913728 988904878 980605880 598637388 465034267 116715197 850179800 299574608 943323524 562720563 330124056 258738806 185363474 870483757 403654860 847903660 715135873 316248854 471778393 965372996 656411403 892662999 403058587 607613940 660597002 387706549 214280602 366271237 295362431 789608934 177432807 639761329 373736908 354394530 446598265 997342173 592636106 605588127 133335838 807177315 649723564 874884024 567109357 389612306 729403443 788924751 558450603 364565751 252023509 167300900 886907182 850817521 189622912 420404031 873034253 919991114 747891554 517493819 902300678 260011310 677860362 457578646 735531043 178300953 473825041 114522259 198879646 805831381 196294704 821691628 612129395 770034311 708697376 892279036 603324265 917150264 218361876 789670321 998588101 599244151 564354649 684399377 599585180 987381052 556054393 930779738 807710071 938322380 579454636 187095496 636703656 362175349 399039574 782155285 162749915 970105747 503768613 204638943 597725838 284596625 682379516 997376457 639449405 359707434 325983726 504836807 458238023 121108609 717622868 702535700 896781847 460758572 745635360 309822189 475027931 648244376 274175697 795687572 762594303 763020173 926769946 870406727 247095461 250161701 258164576 396070207 246093582 598736435 921469699 162368219 982837692 780029540 372290503 794054904 772036673 807135381 220388447 393398985 673536711 763324623 131328527 144569017 503888223 531431614 500864965 516681376 932265510 499758336 223339144 100293274 505062479 144904271 412653764 872910948 165444605 697399596 447144292 470217019 865278044 893104261 933733306 112066093 978272793 745037374 604821407 977066660 163973349 527927947 961024574 459339351 881768464 835614527 263101086 445488779 175634905 865257857 902948990 327826121 629432438 407395493 316812432 591947630 612337642 640050843 495875122 841560307 612664833 255135454 842460436 283043190 766141760 185291660 172923373 450059691 133906200 685368554 729912028 533613760 104283395 707246223 723300938 444621875 102404959 905267940 364341066 233738292 801503503 705054135 806769254 581960679 440192780 213614146 102926605 340945049 694382245 543659486 328387110 349716985 904055961 199492034 568531907 528022667 314005768 505433156 896046967 583363598 122951751 243796757 264891398 394123384 938761587 817409108 969976786 214127184 173633657 384278862 650758083 958093003 626076856 343398824 930832415 778159819 536652377 188378144 717628734 697604387 964714004 694879971 836116887 551978597 998656714 177576890 939665478 213969972 482155007 650050341 110257462 610334796 771079191 906489581 958383212 620435441 659103619 994187974 395560429 750098181 418949263 993768408 340531533 122562099 572063246 437127084 594125928 133401230 898357870 343774394 194869579 222382378 721035274 550536674 885159351 109830068 558188625 370842194 462201958 732278579 209881732 524604830 917959355 479070945 867831046 852689884 201559381 528268440 282095764 748177922 818953808 693379112 756160109 625528056 574394205 204066213 313971628 340728919 307105770 745731908 817717456 254363850 259489992 408074894 971103918 731142212 893489629 710037521 429736473 583078890 338438782 525459367 345223569 592805481 904804289 365410291 306630898 547987179 845925380 162963966 525925040 206689211 209200204 936758124 295278941 564556696 139421078 407918755 720540440 780133863 862432295 994816737 908174191 814061542 537259185 221198354 254826920 591069064 342900017 653447174 165156746 889781453 612213818 927214608 249548498 757943116 740604551 199931144 567107071 203992342 816951473 742532285 358823207 586713572 739069692 979303610 671212939 932374402 905790447 209940910 590429358 253535099 891832062 207006245 925173759 673863882 253520067 301682466 974437726 529306816 703155577 898991662 439435935 368781394 433669346 490642684 915810968 656765885 884705426 112956384 795811463 594117513 437993832 231118623 583064682 638716998 877856083 231773029 282741901 528964076 720725868 506084553 759347090 990901749 882822962 240437655 907288545 811548632 980457336 365093034 221971959 481344007 268368376 809849580 249519268 368639793 264125312 846963017 819678440 484628466 166418446 863176960 426149881 696573290 572642130 877742297 140594340 550251203 979365614 510107859 563191742 329166835 629333437 588296303 167940231 482621554 301073321 732626828 114561721 703151269 296961035 327937130 798553629 798526559 291944745 356741245 268346855 628766490 356767158 667846677 227372687 245552951 324142817 489967295 828455733 608247275 679662624 487385314 476545197 729658682 529070114 728776144 482604319 506017341 131790248 734052703 226658535 647598687 142006583 946033880 253430131 156987095 541376249 756006010 993123147 282955816 456708578 701694887 871223656 481561680 502229634 927173168 900953583 544427279 231819274 770303683 873734832 952023414 849864150 927257050 592438783 650017895 340958548 517951094 421442798 935680073 702602274 530694633 135971709 391743289 413248146 252086643 992936686 966099842 663956269 775308392 274182300 702524824 454416724 957151086 777412518 995043626 623557025 300214018 664795649 656847553 835773313 289730623 222897695 394490690 779692144 674997506 411703671 582072354 222165995 164525698 312019570 887833898 960513274 361032849 583431789 866730088 645519478 807014601 943909979 943109500 592432220 629752556 185521765 714171560 695040907 223608873 110630036 169508649 842366702 939761460 574395708 589917662 476585237 695349576 263339961 207618686 237564657 606291047 952657292 128836616 909360630 621880926 422993264 691072901 235534225 410306076 158785166 168821669 332822438 515292613 803893039 518404196 191400299 652921018 954266760 281248271 116928251 379752144 563148122 310803988 386629274 168278457 622706839 799763664 666921286 488916987 430371783 750312102 143225314 327245295 184685269 774826062 632170141 436627939 991457487 134935765 504349502 717660648 929801060 840643284 447639870 277933625 102573877 102429760 531022747 212555861 859162818 689785775 320421021 599516024 457016084 474283018 340908289 960684112 833482823 801934260 617710160 147635936 184885640 481338618 839937767 413856490 545037722 357892694 380590690 134315821 198198138 247273385 978203381 107069594 967798362 515749385 871780735 418425245 214140311 451407154 888300774 176153013 919117353 480234680 853679333 687579726 734151469 504329048 211501036 524814258 890397964 835456740 850100043 264926224 140544679 319926854 859466757 697569473 552746075 102531066 797506518 921736479 972617760 812202086 641060729 271108869 961834422 677759084 765083765 270458395 905088187 198976897 720359351 631808557 854174531 435013344 932305825 120870222 845103372 998890267 515836846 429573302 778861886 121663183 923913320 683282291 198533829 255939717 786961665 760174898 754889381 320807270 868607419 185452297 288572573 756433594 161553990 140137257 684565622 137496622 988153409 717482112 542269733 725746643 361513153 723544693 466369101 670713657 679048277 625142503 536388760 221462314 183672579 886220554 898516704 187159012 140740736 837698328 781260750 596576791 315423275 771974504 679292903 893713757 155896253 283209907 960334484 302008326 228389361 787827462 350250635 996333812 795024472 936617725 158554429 753805289 468633285 879566447 833552543 233059380 148107585 446652063 636977592 204781832 617397743 114406034 378586229 674600298 568089646 536198252 854287011 859071875 209007925 214695873 578039915 735666807 793088022 646397483 387275300 354626213 983250328 921302560 329036732 909058108 704368409 375820298 534888082 525133409 674775584 637871616 405793918 891766972 773703234 174954750 944803411 613961840 323498291 108807586 447833274 397437954 871571354 399053846 637243182 358105931 900609947 927766896 201880518 646768160 510254515 155911485 662648677 476959710 514318158 807900999 370083480 293335147 156956443 944711202 420210431 422106633 969848360 395042575 956943498 138258431 411480256 527299709 522210821 522267234 959243514 657871452 464657585 915815485 488273383 931527500 185426287 155865278 662476722 766110088 268979036 660303010 568282505 490357234 982219649 895491438 265536426 846007941 670105778 631259107 515859552 166880791 724028532 120293642 603464722 192742244 928328840 874286860 345189015 331893781 653372892 800239430 778144894 663154145 270652973 327367862 526372883 432445203 723123915 483957262 282834559 728941252 539672235 768635525 100994203 927528085 839051503 378555130 441776309 548804073 542617656 553302294 469654848 930808706 499104547 152397198 739997887 439718335 214067478 708923072 283900851 394918132 925743576 632559252 604184226 466925899 964996050 837260845 743192207 559628392 977262273 869031131 147394898 336591558 102271070 991563911 474042759 363889650 949611139 192774131 355707754 431298144 208606999 660822064 623762718 237959560 138236119 877729654 483565186 879747877 976800321 357972808 200884969 399617018 338350582 480805480 516331589 832453424 315740835 816515408 166467678 329127758 408729446 592300365 645450200 989951350 504425888 181735700 904147368 886588960 469135658 760522614 344554720 363906952 133582246 257206151 414068016 421882980 554289132 324820585 895853561 653498865 301228687 137133197 188184727 900855632 615345410 353399341 598435641 852575581 424868311 191352168 545340262 238015738 146749687 747737482 155210300 234849125 603250313 628680669 270316708 791835609 245556292 741976507 632091906 850946996 512388676 956107183 950961971 799385777 708000060 521733705 663742926 364196593 997127262 433491902 360193510 766848226 460416320 987013988 658621152 240400961 857056840 460428426 584344783 867926798 959087934 880639802 387128117 767992280 817643016 656438894 766411655 328571402 122144555 643350703 367531673 528405767 283469244 147467569 638821817 586555492 391838884 373177222 297727065 979020745 739639749 863005737 852045495 619082399 794398847 984321889 905867371 894168578 692288616 456740851 526597693 708952992 391007915 768332778 959198016 544406901 252422332 277194526 474385231 701725944 746069731 251277916 373525720 280793717 158249018 430890136 567724763 682129682 285729501 314881229 888745343 595497949 159095050 473021783 252284702 861980949 167426253 953141792 355509992 297185129 368615142 484167634 191715932 173321720 816072073 731194530 870450337 113225357 493664209 847816461 458731012 125602302 946230880 100712163 548620483 304412824 912411174 939123145 831725064 395486239 179694408 887953542 797264410 425145727 273992021 840089741 279124091 228684591 932217894 915891214 793753250 614505963 167714455 120081734 993784767 887471022 319290974 854446571 622369866 701065623 766209063 204563820 303246937 578285403 192590308 656602853 819942114 876159659 926648891 489560909 271343966 456378772 303962674 228934948 887978236 564072034 448618546 737182024 640278996 869626419 131792355 628630006 106478699 627751902 281240752 166264924 643321455 886322727 550300917 748025530 738233124 999769970 428550827 326560703 331096139 108153929 495715807 325612742 523520204 349744723 351952082 341477885 663229927 650337326 760953811 990651981 699584706 111121926 276058607 810549550 973548364 465740683 322356678 984654411 383669579 834068401 975901374 133668396 668696404 996118060 974316245 621078648 265022739 369565721 731169536 945266062 121789330 164981906 841299966 472294754 608547028 565582911 678976155 958043591 488161493 237643451 942565813 141234515 983315801 487324298 900887173 624155973 965560807 274774737 291664643 925376560 448945825 369773883 217543921 647583535 384724604 482947519 372602175 792611482 785830675 122120645 750955812 895604836 274261815 935543786 435445690 615262917 359165496 342329539 583225334 780134722 457937339 918999236 621071628 408552695 814178420 483131724 247543702 469384757 231891267 840667663 321064591 797099639 764437324 584083302 347823180 840189747 178131595 366132134 692601393 503213207 243904287 733042888 161510220 615344986 529714308 200328460 657038160 291839537 944471672 207727365 118481900 597312423 309745247 771179891 367986592 610633343 245031581 869281691 160502848 698304923 653282887 547971405 614649362 789339116 256389289 744903831 281976995 161484177 418307926 128447901 954265311 898916765 567393157 574537211 574978154 926075481 353618224 666389839 215373946 256980655 805799993 531230019 604152544 463143259 905134081 113052183 732144967 466070481 398045814 265791285 323685609 894596343 859593819 771518508 855545175 541997048 415828529 888220603 568815683 885824604 552114305 785737186 734306558 281329103 677947628 636390968 156917331 586840056 967895685 158940420 299877957 845922365 148190019 400592286 324556034 843623343 843787369 386970297 395797182 386358772 492369626 500490487 534755921 893995567 595489109 644461471 861050835 946552997 200108342 430028180 952820049 479842960 758827375 928809308 951950517 724442089 616191868 831188598 939039496 772360681 186804700 772852802 610568154 198341872 356388006 435088937 624056802 168975446 169806178 815931399 315456562 625839480 127524326 169431341 470275085 256046835 141617334 303634011 777608886 808947528 587831517 393207777 958568114 367856209 627469052 242375461 991969572 198773481 191032965 606712079 877892390 689164175 497168071 144848650 943450347 195391385 888591843 609777080 602046133 526264445 778171807 290730445 720259094 241559462 698250568 154056515 223943676 772481636 358170790 660721768 225530010 261664267 239307835 483503532 911745737 129671347 887791312 355435327 667926140 730440367 332675227 305035329 195142683 326264439 662859761 370076026 591512899 717985063 995583975 794704250 170469101 575893410 586902745 596093771 990793627 630397197 234465515 625700292 201602815 762653365 706511017 451076882 230018861 954154632 292187632 605508585 374726146 138078221 251074524 703228169 459955639 800064530 914388042 705569795 725743643 110725018 551153902 489091709 666553040 601308709 474940911 522985244 868210373 997722112 817151277 265359450 107860781 673751591 323142950 805396476 131181190 334621649 407378230 207643222 865871029 548619200 946356604 326575086 319531678 813593710 894293329 393166475 913310540 675579271 124924775 250032962 693519073 518905391 158167729 142798824 454051462 512411843 651007541 491228444 275981775 630448467 793655338 311194705 525444730 606488278 960614052 436281778 879029720 654597744 161036940 700808608 706728349 906979123 362224401 519587833 314566114 370540064 676854493 387644120 276869563 750193899 570886043 118067882 195762508 679695591 998779063 271395955 485397782 918712445 584915324 326410089 476451378 777016478 948518751 687210330 515641944 307371697 572546137 663507128 430775385 144083539 470184369 531357804 118999894 425716608 529418242 738142256 838663812 640767112 226287321 544457059 243145966 403118605 826630077 320014572 132701050 661325186 200625805 770140489 216027326 686545585 565447757 973956991 419907043 633106538 459170245 726564820 893960911 204819740 528259970 754689949 781289797 181890894 840691465 994385226 473133804 601235598 481272694 735257575 523253904 935931793 315124099 875174180 603518884 603125713 390992223 231065322 937837831 457498925 453734328 554548665 603028694 932192370 815128916 894090821 677351942 272861430 408051869 867424618 968081041 320462062 733167266 618984072 516745581 573362581 293719661 913235834 780177622 508095271 470556850 425734855 222218111 996932285 662414867 771186109 646355919 351699263 394456467 285238650 708142079 678135361 705721523 663077322 400756359 611089375 704772572 683560401 473316828 470343070 279867445 219486300 944600931 746178378 379519529 559352285 768907100 110129098 275701599 984112726 467372281 178266288 548286258 501040009 705584593 883629277 655597466 853590035 352955055 459154520 150115982 397468338 495709312 466147638 986187581 245586130 972940960 613148401 533958293 276292464 847818416 776296154 270395513 694918428 875042763 418678748 162152364 250127392 677782226 332018720 384452936 141040015 824051622 184845895 505701031 185426586 832561731 191706160 660176375 992626411 927764856 325394200 762047217 433938374 356879677 211344808 867038489 384570781 960383832 996057726 271569830 693042006 457351384 290103541 124171009 497292755 808343835 488377817 809031419 569503328 536673376 112327249 440371295 812814032 484170444 562778396 243461254 840403961 184667921 433527444 640767029 703683888 738994009 543469721 161422224 729543544 171062530 457219262 426414246 464320108 254285540 194973753 363812452 915676942 322197519 337276136 299860556 439007353 145823303 957221612 282624801 471337271 590784484 255782749 867603105 912026668 701674047 672788824 554613001 329722977 735312054 550692468 489802420 184588655 646077013 522699434 459550390 138442935 436351724 782650943 359410505 671946383 874454718 998084789 996783515 119352646 608389949 244063295 743145678 293786290 503290253 254872681 674493834 228432412 649797581 879608321 608635560 309869233 427644170 356606137 362861250 268035449 786476102 515473543 110970779 795308692 571305702 426633113 328182070 580236886 455022577 256743667 158307468 523903087 331745447 945411539 494074983 244895261 429279014 375883593 729689059 393146200 875349615 666820881 711249285 217160005 758938549 390530270 955862612 644084077 327454727 246640167 491540842 293667033 688972089 524341900 515348235 221232374 704409576 318678708 781167181 666038553 648928599 192234454 240667851 397283516 354315004 365688610 943289320 177894619 208091910 801044092 584514695 105262066 547155713 160268851 992956597 419654736 804143306 753397781 203783573 474463324 858743475 478942290 760802003 909489502 865229120 505641097 281252343 723779545 630372846 845433268 934655433 499329043 424418735 908117067 547041591 214452862 943925462 260316799 961444896 515229123 253985602 801629881 338116057 885313681 839268966 345094083 339802683 554180042 985501241 585666901 469301133 757051445 616862639 451729560 297668696 294852219 880703149 609981617 418876448 659488804 629807783 330358589 360836861 307887421 811040901 964023569 474922240 539844093 829266331 878327553 135486940 272076732 340054000 939601024 610634711 796990787 348125775 414527752 709921434 413378174 879782047 538840142 352084020 610058803 326369320 390673323 450699957 184061059 446882584 340799624 467849346 644623638 614082666 519505495 898918045 939541074 331043039 375175810 590347242 585546595 555206939 644149734 783009650 313937111 718916308 945550420 183792843 238402226 426196251 362679129 451918941 496913702 991747474 514982660 517258369 545901201 960586340 248887576 193812973 520949235 602037238 193975585 859491960 643614572 441995812 335654049 178217481 106161980 209082967 272756251 501389763 377456907 400540711 591764040 614854190 461364426 896517218 353401937 842432527 284537641 403803169 377919195 881611608 947445387 719055842 769118420 119338869 237462828 659359255 829201397 304091443 938082452 303709618 148857591 336786032 609604817 809958546 122136471 351650334 493312651 635870999 389766262 693819447 812818468 437291197 178574191 230378157 724267681 973228202 600436245 827143137 257744765 618503711 811979319 905835025 142559124 200819276 138566303 538001737 634965614 244033393 820201985 937790092 508297873 256759111 959032789 187736599 966756645 938400919 900430676 469599785 785690949 348409763 255146006 360402932 556219200 965133878 701808200 289670115 259348289 638604264 314693727 753668928 175196406 549351526 401629762 866231311 415991094 135212994 563887722 704393541 794348200 284811719 317681370 127071296 378919677 119848331 995678637 472175258 455004024 406145993 153895450 982379795 428727132 981293232 360604975 493925252 475797869 849468288 173131466 475169480 118395468 126857126 620005585 179432022 212433663 913327700 898619759 867364464 140697838 682388762 919802117 857761246 202998146 632731349 531308925 300577758 807374168 184640118 547673525 688073409 735244347 552362579 104014930 931959112 181847253 376317056 366009843 692429877 965230935 277872010 456381440 885536413 478182586 514267009 790124012 881952084 796953019 274367215 296738129 859666300 829876519 880782126 369883629 365625266 568174009 234792977 215317763 222431643 322192888 796179453 565674268 956182493 572872826 795392496 199892726 666767636 442563038 416024443 438296944 251890714 944261052 956663958 529083438 335255194 926746030 916541500 877337455 421816494 178683621 687085150 121142287 591889631 813046067 101278180 711372171 641627736 827711482 793755961 924778112 825250352 598163173 126331512 734685491 909931389 455317843 206785251 586010361 402497939 963680605 699190604 489434064 341228466 724498405 455813039 832905749 436160501 958401991 699047267 874388008 397837842 332536723 117869406 242975753 974749088 228581410 922431404 449651528 161399088 972848703 116639964 434738384 232046686 776997534 935250981 869012593 952525423 636893062 909645072 761874556 346151327 596695452 263477478 579655063 958129648 162653982 791506383 196393684 525657640 204593485 150108455 687277991 476374532 773827952 553682721 342707891 613969697 534297351 853986275 761711369 754516546 860134963 894301492 147551881 171391980 999468024 356786880 110720913 223259614 838856964 537118558 342365268 201030665 969942061 570257374 649186399 152111840 570909053 641964823 275431323 764549514 869994528 348599047 397536743 162312633 836389430 498341249 140675277 932042021 418157402 479523178 451974410 323025727 774589738 237492423 581849044 890076572 301638306 529783065 980397387 815082248 491133614 342331659 385285368 893164131 844332502 686557129 166149387 519922778 413586083 924252176 754220708 817584788 721892924 173295940 424989209 895435716 706642981 622027141 736360960 911408208 320502477 382356703 171190281 578765578 536129790 391737566 541503832 537627783 328446588 491969075 189604762 498169271 638607467 598441050 173740876 389018477 530664634 707111560 678766965 583615992 898490449 437155628 482989072 207093546 284031927 822799247 181858685 187757133 874924695 585485181 989711798 309183570 268820203 164121077 304459792 213419617 736838434 222994048 258862721 373111966 425631206 837626732 442796072 155440007 812314148 629428173 661543272 535917846 821399726 218454980 731068838 313491121 698395497 799312737 641460889 316043980 358943800 393863395 754940002 647331596 926541943 225213222 169380083 422851158 627038510 441575269 945139194 336289762 694588369 263550846 465190976 420658789 517258870 557224266 120298834 677038363 344221281 557069012 909469634 722396387 590018524 665919634 712443228 894901587 279237234 694746845 488908705 527682981 357092489 912208574 949187957 357473132 934185336 115165978 803395733 473584525 601678083 659429485 854946384 365204646 498098169 681010662 722356325 259962594 500027941 183814935 837967001 920984651 349687257 533307523 389954388 604245173 777531923 626689555 673691419 805451631 214188995 290835806 757095205 959237970 135031544 280583519 871514522 692080646 959876885 521022964 226582178 418439238 376397230 415767136 449931440 370151873 249763471 680751800 326226008 698007873 812211154 730769795 239127510 100722733 478296737 995711436 642754047 598990721 745716936 470563738 846787513 772941131 421195315 242438047 139482650 963950853 815683939 686314774 154551209 814160984 571342947 499498943 521988873 479418913 354575852 361352594 320625928 423098944 448220611 962566443 483994232 793796020 866740662 211810208 446821842 905061285 196668823 622731038 178436398 233275295 572867055 180682068 315888510 648256162 847953415 135374232 792660975 117484619 547456544 260637451 892397390 297811214 943236147 473468932 932629329 471213743 862838329 655698308 291647328 428007281 563374917 723095088 551804598 148999078 262413282 426789518 185222590 554322117 858320337 518248158 649969099 814450079 595859732 527108412 438296623 622226417 853261551 940952466 174082438 130848434 491469694 747085892 508573966 201506100 925836265 937137080 578476306 359260231 344036637 312016335 580630121 537801878 539920908 982573349 751136671 300112558 673161066 632124705 481897331 518380087 699670750 877626607 498848216 848485455 577190396 863119245 304677706 706302997 238120602 559100567 665521914 919328436 423410503 232906367 546028416 716069643 429173180 381560822 149271579 178993690 493724011 522739806 879540434 720340523 706873313 287338451 427384972 295213616 891830474 397484865 732618216 473160827 843931867 776567630 415795674 524760947 307881325 969316721 425421348 543557395 382891111 238765373 281341530 300664094 976947947 420579083 940946913 806563741 179007316 369551446 660580241 737722453 700810118 576556395 617437280 185897751 203119463 512892390 870552016 983736189 796944427 472392724 975707776 176418126 592152108 851155410 300882863 379341943 513297433 779764156 465723194 118452471 147372892 517913663 166438010 643875610 550968296 949514869 938649135 216445258 729946279 278674056 975693648 222612396 735985820 843596059 760438143 782604092 483120160 400534317 515613504 933562899 561601926 728164389 407624496 318472718 483668546 319186964 276932853 275463151 407207957 541646113 600546223 101967333 720782007 742030103 813747002 129833631 707246923 428795410 771330029 230411248 115666356 748230079 326105362 235888758 271798628 813044229 977611562 321552336 178139920 427472930 436900125 861887586 985415407 419029258 778265184 801819818 829790543 576141501 225583519 378450139 256514848 251818700 897375135 950477170 774158308 260303691 578114276 500436046 855274709 657766874 123178647 157222618 729832061 508262168 900740677 356323723 285449358 487192415 393547992 391264551 735974251 776786467 105069722 798427319 152158052 876874040 647261100 616682050 731235594 352565000 221269494 684296311 671369144 436251097 513816982 555561436 297522481 223590603 940718450 348647722 540967500 941304327 182507467 227428922 526716770 195991058 758744819 277192749 549397562 987330618 537674375 843262915 205164731 207507657 398865422 794951530 177248167 387433350 697033477 169087335 204402581 755406005 746328728 272829586 420675337 742007701 744300871 236271589 578649698 789518360 649208793 975464526 398541748 366590881 117762376 734727796 658307791 461935116 248182493 697132692 471764825 249699286 239841174 761170286 316512487 292486106 745465144 519516003 876664467 233082630 294948088 417263227 468261963 104820478 457935205 676999952 881497193 536094257 180448777 211824626 591002625 822350034 736484173 663652375 541978477 442065764 719935974 574777140 398987477 122302388 223033071 575197099 641196937 522042552 283843932 660652937 228888338 279510895 165611953 488877362 716708643 689985308 409923575 749692476 566322542 506529575 323785240 743079692 398376588 913264369 858224143 246575589 217871522 702018056 721295428 499033407 460990750 665241108 911528319 324161204 953168275 487718168 565819774 239190146 826179785 319325950 572087829 158493693 462796863 307839574 723580107 162699628 515494587 444519603 827568128 654879594 739149776 739023641 706406507 829698298 613711565 588729848 425990427 694793044 791460065 783654699 947881378 166733548 533543687 249306406 943216972 694650299 449705531 514791311 687129055 743753799 937754170 505917758 408102919 507414221 930163209 480588738 126185295 615880976 720252189 831513095 246307573 263728570 609202219 303788296 701598850 463835722 100010268 373770120 526162425 851866849 474762915 955473068 377708336 751888956 974050371 806392837 328430172 365347971 644948718 130535329 382365676 276046707 431109895 610219317 587197969 481072019 600947411 348689078 463510995 820416678 906062038 723505129 819309622 770462249 355628023 588170622 951836505 767021679 910372399 735868646 548615592 786263702 951050695 489335227 382986020 152992562 545165641 710609236 633781612 438852071 431426648 381279686 569255567 612251988 594289850 487818613 360047412 615816778 820111275 300374942 877650403 850998600 962498405 349299434 598561359 237016562 389762198 748079687 707117933 930257172 970409424 773596088 464942636 546543600 853419621 904114805 195767710 310141749 853277226 463176435 627217218 164062755 640172461 928374533 824819467 355031759 260298403 625328942 825147059 501545803 261789590 849723201 693716771 996725003 243516759 125766406 132324836 925227885 991240835 285224624 147330394 143721979 579601497 602259672 379584651 687933274 610085163 742631212 486295973 972918961 364883348 106516555 436674275 537388015 421490778 606064351 950417014 204029983 816662558 256247257 678981804 285055437 161804034 940514692 987859106 474110420 236244106 969461648 711869589 967101377 882295805 188727764 557848506 153466712 986817500 288175295 397836772 699822881 389855530 668661816 300557501 884170718 481226796 575491781 262550364 977403292 288746919 819470891 350184609 825047781 307502366 191857745 637475029 824464963 534981407 588276163 804277444 427527493 921380819 181931311 771682741 578768855 126262338 743384690 560761674 479951806 449885762 286922159 568393788 459503836 841566895 618363223 113016407 993631513 763158550 266925501 297680202 723401985 274696746 675302415 892948165 484169614 417901097 808096476 776440301 113147751 408116420 840327232 647299030 980577156 731853486 842302883 841583637 747434660 711589748 240255387 934287136 189765648 564993997 348244348 661870114 561244899 175234734 674774928 243589331 271073342 892253118 863676695 545087192 284819464 487718982 233816016 986453978 915359215 958876683 144257870 489561775 624017695 281004930 572079054 277437031 301650905 541933108 702306531 489573299 304246129 730567561 234148333 623893983 341327970 735122888 408562199 872257998 788958279 735991783 573120492 827477712 385903202 934731280 946423593 464049034 950297884 722024949 766968613 690811122 792192413 940960229 945291213 602757140 468761368 142784066 589720640 712805900 759607468 656909923 637401668 746884153 155053944 914489062 855414191 596917736 295389739 405681285 505113566 901583275 552309278 768938685 226464007 783295709 222590814 473581725 266962081 258756084 696022799 416922747 834816566 307793021 551638583 420008864 448064016 896202826 239846269 971747240 268403213 101119607 408640179 374670365 529355200 720883143 511396914 451536030 434379641 592842972 338604867 278683060 357296708 620752505 735698757 900869174 656623713 233678453 194392012 220954148 165847798 528207114 932671974 741137214 785929194 785416981 822777287 369958524 609762964 294636469 607260141 348929752 816144754 686604283 131233204 644349924 336772679 574854514 463148013 680854885 752399179 869431870 593303867 494125583 563712580 459590831 453400546 164410167 217450768 554005366 297558242 188541712 293267107 529354730 447977375 448942753 216312589 648333153 955263027 534495230 364687257 850223519 666377639 399011196 868199875 607985718 612514610 550795450 521867879 130011784 493952143 915124729 837572583 543290819 454961130 936756177 829250988 516913143 682620059 378921219 628497394 115893759 687031840 245440070 190724000 752890905 437373302 116389775 303949018 487655342 670074086 870337856 151823830 748783555 471929467 631442301 991298102 713074060 313857727 108519031 866737210 100712378 739976604 660146438 302976783 103425035 511307771 646543779 796258771 955245241 553134429 874706670 750246747 663086554 295775974 599321474 672752469 570191210 922874735 718815546 597190762 451016244 962464337 821794762 234510383 213137124 660256609 320505927 222205054 402494595 386392831 219372742 875691982 621283745 507250220 454509687 457930350 676242478 420509459 342921214 223953902 254233151 999002060 312275410 320436079 954120153 422536191 293829243 616291138 300514827 527539938 853452394 878015868 123158559 951886351 739609250 651971575 492332579 917782191 153754815 937834835 936485214 455400154 346721085 256231808 853319932 974981947 100826844 535711047 568201641 529453545 321261787 800565901 660097349 676021333 604175355 230489185 471162924 230967465 935118306 631227154 109523046 930403503 223173830 198371388 234918508 962057864 308220965 956081039 125457478 971490073 999728976 428313937 286414415 793210486 750706711 995110251 658250973 807141060 517366770 287820836 236574428 257785324 224416790 742154524 396779553 589479171 350975344 194036654 272820556 381587054 830337058 224158386 876506721 473512881 730807869 192375823 144642666 122137182 587119872 115979177 890154856 967489557 433884909 126006240 495835507 807428351 867006676 668678754 257344232 206452248 880179860 541495423 736400413 150697884 583383408 456701297 753702388 175178224 740967930 844205385 617623775 973164068 558359224 299959290 610281076 420691582 642303407 918044461 918455131 190881473 115222305 525365159 743926110 380422257 980323739 637489522 297501880 483187457 894049269 248045476 823678394 996605281 242534738 692067898 948610354 804754577 724896903 696009806 250097282 831769252 568774962 802964568 932757547 943650351 222161280 525892507 823446724 380499556 177213403 217917543 264002289 581882648 103754591 401355769 885090370 279306368 128857566 197017759 297306561 285745764 569492079 928446992 440565415 447156906 818928985 293052215 607952696 858761825 179524596 477157867 521938402 679369283 882622948 505956426 779811315 516253355 575839327 117727201 309502707 997947160 469106743 262786470 647572975 776933998 667416658 316115228 840207493 999336888 682496541 559715879 183510261 624872623 356989924 999106100 311753993 807270167 537853438 884085201 845112141 725350537 939657195 797966310 621571568 562423978 921599571 594251223 494038190 105749134 770751248 499544190 484533570 557674103 975079174 596398104 296022952 908527235 963385759 496162936 120354118 877461569 596646912 825195203 961456909 476748950 181208697 562887511 470627495 665540492 225775483 135366250 870444835 753930861 427269037 771647907 157729792 199363438 814181351 130315142 178023244 607194571 756921146 440630255 365148134 810166146 875700619 661705164 723234262 871317768 325135113 295090675 593099138 769547590 571166235 264874088 535736791 874343636 718899767 390331301 870625990 992974695 556450040 477877530 787380590 527072064 851183196 896532888 244009389 387842250 514941784 248677907 421914926 899962175 346657309 511453120 102756174 545840860 205006344 238259636 749039196 601589887 875547852 905213979 148019446 415050689 780222242 375440231 673518953 856478114 688547384 252029034 699127490 381161709 905432830 572260982 613011049 888855068 771700371 370936438 881524862 830334821 881468269 547463342 316121134 117047711 281453925 534074501 223523712 949980676 104800490 240921937 316439941 813059858 886248595 913289840 612489885 440563600 146971731 775149329 321217068 110907541 640240527 665346318 448842214 155027904 569921348 636284009 131027343 315362551 232628385 620621691 786428445 780085983 932403636 952253765 838589858 151383192 613838520 969523895 969261802 109769411 945308059 726232347 498466296 620532414 898504631 798971311 416472762 748168843 285763045 235953987 382193722 296220975 662796121 213978990 965442888 295837634 424847522 406405583 656499568 575982259 396540556 311389030 883456149 804312969 628570057 597904531 405488726 701560350 949459522 295752854 809463755 680016974 584062258 112076728 532871118 191250872 385312006 930060657 797793489 441495670 497771520 596103068 736879610 121775525 315893399 263653700 396450487 354774273 352756664 909433240 372890589 934442752 589148800 250549816 810938776 606095550 163207682 109884229 424359757 121958108 533140697 560129216 542658491 564306113 255257172 436762737 692556520 620083274 645831113 696641802 527394661 538410677 769010653 414402284 533674582 723853264 183694058 537969109 443547853 253055418 699550735 282902297 151092249 297396272 277201352 682039883 746921897 609709688 976049314 840722800 587061429 614109836 543772970 520915231 930157996 388028015 289476504 547663564 680312425 472708437 125309750 970655630 937120211 802933187 313262780 985845405 664498693 590540359 589123980 399871078 695164748 268349532 158624019 448034903 676822652 556541896 218714310 473620856 971537522 968522618 598990903 738531786 457049320 623050411 339658293 338166730 974148475 318687670 729312856 222310660 657778536 470141281 962223483 131070080 501155015 781986329 309625682 754787449 918463446 184425544 483171235 119806141 744665571 808624533 733540463 270730326 854492177 453032752 255141755 242916141 965959678 571659888 355794324 959114635 564973206 306174957 500220379 854369859 192525216 166857521 289529685 932278208 869276075 691208320 301963431 310358177 935890986 816732706 131071365 500828541 781483310 645347567 683605125 216109299 810590810 243409919 101689111 675234562 318676913 510736316 175602351 828787879 178328887 296890052 719402687 373922900 355346629 840000729 936147036 950039218 139623098 565395431 778816371 107613997 883966516 624499051 440146484 635968806 700771272 972713370 881266435 780559335 282159740 602678838 939836863 651452381 677253785 361444176 158310511 706333181 636504783 459177401 333109947 651498827 293991397 395160025 841911418 369822929 322378236 768545604 483428838 861584413 160094881 924278239 771916942 614718960 376567650 681732590 638581283 267366063 270615134 216358785 923480281 940232426 189491341 899728247 239441518 248417697 704190447 959297544 828245670 581703215 982275985 246218725 738170700 835142639 477363180 666365122 537396519 802418501 479526697 665898665 104162283 794268845 395369326 591168785 156298769 326215014 903737708 140369872 691086947 372102259 670588037 427275177 829050254 788529756 937424490 920773530 280052262 743307048 554313018 899745647 961492100 128593064 303794438 968791132 959189318 123337093 560820092 414037562 303776454 100401330 691501888 163642131 910058479 516015779 443665257 288496316 421280796 129791715 904096528 304652358 285579163 126425747 202783247 375104885 584956462 404927554 810120395 141453359 220827280 931562227 444070354 776808127 405794181 891983069 329562165 657656087 151744040 592315187 426474152 972269324 137083844 217770647 870507888 954509327 395443394 276225567 935050867 968165081 562062865 301205453 227314450 977307412 560172896 267670277 940104538 608228557 861314715 578437335 146025489 546083695 579480136 688623263 727410276 679881206 901096138 758822311 715706123 697621601 873265278 486399795 276834220 168187872 864495842 217227130 119512129 881823145 441738791 970488534 464769715 704443417 608766217 446076860 729549674 768259070 536651616 432092643 290831263 114701660 806885050 355406780 390187724 122241179 172955031 932824732 373481155 188667793 571437503 191801626 365992530 389518862 216617069 308209419 880904422 252709166 889627796 657272053 384673921 567591321 689621076 791599301 791884181 676213577 377004389 448075879 493574795 126797990 577296242 988234265 657998335 776453940 223975071 305048306 982779932 426128388 947407937 330706978 114916392 177599160 841914623 614431808 144627802 349838423 301890371 226591616 329397299 216893279 526389359 822519614 353668620 636447625 581108864 972137990 963361774 224182963 230251311 375041312 474990145 919647073 212119102 274032600 942743065 141493910 842615082 980436707 138957355 377982953 511094627 510311578 596442819 567748853 154636596 769253916 964874064 637028996 539454528 842867761 769941099 999113254 966687179 787910723 724793670 247577287 787530536 796325940 115750441 687013850 110630767 374837948 281639766 664333964 751977890 301887837 247078163 353671003 260160400 232884908 997845578 270780964 315127794 882793242 133302651 110297809 476724421 105195682 206533395 501155942 154324505 727760171 424309442 923819754 621314557 960670153 615330757 352407248 405491689 632990385 734565898 659737175 647404598 677269134 797415722 310709992 633185944 648057618 839255104 470623323 608155598 195350645 236900766 853679315 902288933 641343384 138107041 736546917 123677337 435055587 970437450 336943002 264659884 393495303 866267959 847491687 417877831 118531048 750433285 741657146 755749508 665173328 358721455 967012581 500582098 192212087 423591107 600688787 649653972 410849958 593766931 464823452 208559462 298014770 565088928 751987079 758692262 428168464 713383922 421600691 271202117 162017860 516411935 392343397 387203813 774922188 675235490 610220789 156756730 407123933 887035551 874734673 900513614 114233353 144122330 515783266 264348072 172748702 584072909 572273721 945172392 263963282 839612652 731909676 248773293 562202234 711256880 415628809 421509221 735369781 352065456 600253938 981710759 771162965 670570494 888630785 488617615 492653277 872666486 164186437 324577770 199157782 520116535 491108710 854386696 650049901 613838747 999558007 965682636 425367131 877626166 536296017 741246579 514706785 206158476 194386809 383985974 438369428 958022061 612051010 776752499 300161843 856401990 826845284 571581629 918475448 123743750 368882628 961072881 741216439 624936228 375639385 878469502 776262009 597746218 187753576 574024648 298824394 474028184 561857651 160101529 530830065 251628521 664994665 218587561 862722569 940380228 872350787 107142123 207812391 676263614 902226654 179443619 813162552 275679307 803487448 826766022 400222734 758455128 151443384 403056100 841681489 707641293 389808090 716896554 328878097 414906269 847244311 693614001 321563738 753693654 994361373 912423280 607081091 809027439 734628635 530952205 274129854 526735320 760124575 744353096 684976297 419853592 640872568 140505838 140354510 517722191 455844623 262738395 605908293 649727586 634970229 654627026 417468585 630516966 590243095 344133451 548615900 363837386 881451858 501712123 837328974 844566943 160019435 576962497 697162200 347968860 595029025 615727091 697607772 190886431 337217008 204285412 664530094 475695056 373410505 622494417 726315065 410672157 510209933 634244493 326432200 342081749 239076303 509666738 965903033 956093923 802505128 297284175 344346468 777460837 553779911 281308467 927708040 261446613 416712383 694220884 764694081 948972989 654096960 686435311 212550299 652846213 137647800 263478910 669419268 367692973 903610592 419555445 844095668 168747744 332053006 239442901 366710579 184047073 209825336 809627156 869701527 240440005 224416298 508854620 240416773 722365147 913620418 157294250 732146371 721616676 777693120 591660265 436427195 334344380 435388963 278199907 876547862 120286153 122124600 557675718 556054797 906066087 323126338 500451349 655812575 601694312 524053991 152161681 796475516 995443968 235139290 244511126 966248773 389423551 954562341 993483054 736557025 605796131 472847143 250042432 853622220 102430084 406529738 394665992 363219337 411156412 385023885 759278435 570887246 188178220 609384539 715509280 421278515 935885953 724881358 695453784 590067432 925910763 973513984 104706537 378064680 449190183 477834206 445518872 488454251 115002184 504314330 505407808 210679206 636823304 130931990 424833613 131845566 603351084 139841464 131626452 953347019 896158650 288180879 680356549 694852108 748349541 604556799 389368761 328131792 614628841 226745940 566112074 605192993 333565614 649662820 965062428 331870480 151402868 492929211 936005764 209314187 389485292 545735530 752738967 762583194 136882721 570843174 412485255 446977214 671341601 986270625 108841783 760924767 409537294 348941424 520585297 234485069 269020646 460772471 174815669 687208468 711967078 347793451 904212368 453953271 456051663 400293518 245314166 609872955 785598320 846786793 895833875 859084676 620473754 982892551 288675113 102760243 864090421 253139553 425826804 456451051 654739539 181693030 666379363 438621109 121155942 823786788 755525645 736031154 363649586 630789316 753791876 520030174 878735426 872211147 398791572 329313440 981949241 246692386 472612767 823581772 176870177 412290123 288269276 480635297 577581193 752090125 783512500 932153790 714069232 340961996 529929763 206004040 563147890 227725381 501031421 652067137 613294055 611156068 871365495 691699372 959202200 270764640 158604373 105896534 528492952 841857254 671151188 683396722 333677641 977241608 897246646 656628231 855493782 281748069 934049611 703705546 502253260 162537131 185216654 294531411 953601411 927078484 266370045 991357255 337236887 864411462 988842927 217823769 680767614 275227638 518492317 369291680 486329623 453996080 114030239 374730518 899178506 940751511 382958636 305828220 497048326 503944413 957372698 443860078 751749515 317980689 163516989 678126769 666309161 413680344 810082483 601190614 865646759 582459623 915293984 626185054 967922552 992428861 716233255 752293044 742891610 258362537 316093650 323576996 612759001 936289538 417125751 334524030 518748736 791839233 511971661 324839160 832795913 646311649 923142187 967732313 450187970 986152527 695269380 444148943 867765879 870750013 186206896 938385816 680617576 856258848 555735372 869670226 759933576 296551142 304802268 459286226 884688103 545596482 589007581 947253557 166421759 861535899 698359109 177003198 634636470 642684413 548871679 168611248 105405142 365477918 592453796 714893489 422436774 846322333 840621444 942499924 150221091 630464478 558520809 113367518 612157086 311568002 487347748 514299220 850263641 494597508 256447047 608826591 428138134 749542024 732410977 595841664 195210420 256549001 929337625 452369195 160083613 537419642 997802322 894997766 494614437 375906724 312194171 877160331 646963025 935675501 310972277 595880712 669683712 726145265 502414915 144333488 770561744 468036893 417508994 103279815 749606612 932600070 411118732 126197425 315275483 690804416 146391781 446433269 126483532 977352908 781185922 188859094 420975854 753592020 805023057 784266737 469187845 283059414 794947530 388422096 842705841 183582317 725774431 771729464 949535160 587940095 605088040 860347826 268291352 887229721 355889222 317610123 797661837 367879403 595392579 580083991 920902809 523494842 133488513 180322200 798205620 940074556 256333598 347383289 359913040 938435225 632660173 351068878 312413660 340045304 131273845 585281465 249680198 444606370 840005053 847515572 369868417 342877836 369933224 100631320 447386431 673403581 550779402 682228275 161131693 509156805 736787154 436741973 517832754 551800459 617061376 892152889 278118386 166405314 987980829 412791452 345159893 729891067 664475047 766174455 231454728 488743942 110348112 826106254 768745252 926283240 599430135 368022069 153848119 449955406 290475683 516758724 733825519 575542408 220889055 891064903 939426036 284504283 369417686 374505537 707079908 439573772 584951856 628736126 991372480 931592605 635831332 226378274 807567669 109881037 250244597 607599837 413968531 480876868 926380090 495861622 557755191 412889219 283201218 671104281 831858630 421049792 208638790 366566992 234297394 196998333 429658355 753526557 103370299 394276755 871101136 632097352 472587596 927628914 524853323 463695051 702945210 932409978 939814713 281455894 693716179 986546099 952894293 988579623 371483899 728746402 500456120 246118345 103524665 122313191 607213162 982955702 139508935 246388427 396469259 203532615 558361284 495247443 200755147 415618551 488843684 553826425 641091478 138683660 593666688 342227953 164140475 727418056 300981509 448246011 154978024 928318413 709869015 110387907 578229371 697802045 438660451 291427848 472210153 677376500 476093954 960747832 634880572 990785040 482506961 996433441 505063941 649723315 214116008 360509152 746643773 177434673 612701400 858124423 318256492 508304401 793863958 597206990 733157997 187463714 169595128 133134858 747847466 836863554 659945382 189781343 783286077 269266793 215562237 743360921 396429963 601582256 356503073 166841042 652954351 767552122 874998194 526772307 397070989 161214379 310955591 275966529 876771186 404940855 250488992 922474334 543266036 545867813 340957791 189742017 216639948 129289662 118706529 890086549 710363392 119409821 711607009 931929877 699827612 969017352 791254997 772985050 390259515 610079673 959658143 415988015 884298975 440715288 612604052 214227486 509988550 785493342 816456639 709582440 836927434 744710363 876702413 892500268 746921977 279985487 173417518 929539921 335227903 550652593 810723977 456837636 588439100 654536389 421410046 909154076 528799805 595643960 562118816 482253299 995202963 782247594 298160177 658247392 833440724 537170193 587875159 661996981 852988073 280379384 288227131 993248145 826394121 618707985 980208479 384510995 847226026 517392699 989507976 842391569 960835651 820205447 350846000 518586436 932327369 481605362 825706121 825459411 761449384 454196026 560827498 492678055 799567741 250796412 809854755 240109137 871426912 303526847 129203818 420316444 457016231 837678952 881569781 795294335 908211704 676255033 481619591 584596871 554808648 816494027 106322775 952067581 531916389 700990592 576889501 959617787 693780434 947487024 596439381 767277741 304047947 298149312 504131238 185555512 348938913 126229330 563447015 603628939 891090127 199895605 365501311 482736882 796432379 836231049 338691470 863585042 595682813 717807221 971123225 866108617 740903714 820073452 726003521 947816730 683952992 281118956 683341279 885754293 724465418 752234907 835877696 298751472 542403265 625450029 155961884 790912384 379037086 378062978 472155752 817158417 372126023 489142227 465936089 857086419 550001615 294656040 765721470 682858490 453399855 251602976 379037735 884924096 231886259 138932830 414554506 200387605 203030648 745312105 855377452 444582286 810354120 157827559 445229640 772141315 833255645 287531255 964324475 339796656 926220189 416649315 923765723 685271182 484029633 360143889 988687228 862573720 897718095 697236559 922746599 948089316 892988023 349261592 115543212 957768496 881553620 773710854 736663119 505466544 455600893 536226513 827417709 715705960 935635719 184619599 171703630 400225096 419942041 643848182 738774390 229163822 496019238 125549061 143029440 843438363 379091209 759306766 816752975 330596608 496447327 408305986 778320920 659436068 417570549 358993889 998597938 533043786 428056543 218724409 267465312 200525012 773453056 564777413 117494128 471307058 881805542 766580417 729829674 829575186 151333654 420916838 537708036 608670361 480574187 490271997 974523741 817655001 387168485 903307724 183918341 993681433 755892419 623320344 288609763 146756237 397785143 158069016 221964121 108684344 515404338 743453815 514546075 902399102 475314234 184560345 495144618 411343996 180409284 191182873 299294494 650087637 664926100 212969441 130292978 319193873 839989625 778699290 943849019 433011153 309885074 414541556 158235715 530482995 331712184 927061253 527561603 831602986 764996942 373812341 323081262 228598846 993035353 455673615 335563335 856710855 459607971 199519982 788617339 557860600 128332969 302314064 106727839 220964383 156929826 153813060 898130517 404063867 454273352 632217148 383501983 782181141 671588248 611354154 288849518 572576561 450611916 554745800 353985810 212958410 884283093 562061520 439025618 186153996 322573388 536440881 708297323 545977734 807026458 488770819 388065162 785878758 774296230 903311045 361521082 941183263 908797921 334107614 569267761 901838626 908522234 873303541 914654620 173629584 706935238 299298424 406575799 705266474 479123675 605716232 912254509 539744577 991038716 155229289 388755453 280282693 867360194 844690238 778066464 865400053 930649855 873932275 992285535 512325052 446585371 224615195 393422221 990927746 397228801 793382805 644297516 223410098 543757702 784595585 603572597 805859593 536288323 275739361 875787030 169694857 344767420 623101258 398654101 160878934 929081931 128792758 691087035 686116481 303042034 663113299 169340463 364719510 179344221 206342736 577789035 808693930 632889924 923354626 220551582 296575357 310978008 449382380 997796419 883562539 610291346 421957867 679548406 652848608 994765363 700153399 889931559 896601003 914170486 373003012 169398019 558626745 543445343 689689930 604677357 542016202 642403203 911239726 719161135 724732846 406809118 175105220 307555765 451569400 744511854 447068908 357903632 626106792 767096158 810561306 490052931 830782164 470511518 566385436 222242255 102618743 357657192 262678797 282707842 791430582 161147099 687028045 306252019 736263142 174289753 448944770 391743409 170980426 869591606 637813599 507306933 930549193 359528005 926875355 449704760 272518018 143874177 779833038 649684828 450164693 576964758 820178756 741440579 513318521 811538354 885919309 918773812 801962067 317150222 180781100 448398044 209127563 372636437 967364058 208999914 860288421 960209955 534124206 114230424 995217334 454859424 650973453 145998792 243519910 733372741 671152520 592108813 135774974 560259816 539309768 486777784 473140624 546233477 692855755 946424133 271010673 467414992 145286944 673194783 103973289 302262230 686454455 799960663 738095736 166482482 475054163 693265972 669146145 528595635 294537128 409597410 866892321 711297223 874950792 297244725 808522347 613505093 481516397 945140034 247803350 759205900 580234218 605330055 181413912 185047269 940815531 891747324 487353503 125527321 791878232 332935512 998779989 344396476 729022840 171888320 850553314 687279228 342484015 733756628 179661095 517588109 381117454 291192382 579945372 661104250 236435649 735381267 232124934 450762664 412884873 820229985 730673731 312499348 823663314 571267539 189187343 522732371 569730595 516935965 358914867 865095884 844429399 862599707 875070358 155014978 914669332 289191531 614833979 903570812 736043636 329508939 244604566 333867281 990781737 238409791 779882109 267508408 849614625 973380427 935614221 803838599 336876489 973702642 720454978 531893325 754978793 418041862 337501986 303651535 236361904 179780897 848128142 308962058 135184519 587886846 660063118 400055482 810063051 148124806 201128714 530062822 634111810 361881037 703799945 304455235 820699789 274557235 967105130 218889196 290846999 699401863 498657239 601018275 652134281 987712205 621942910 701496171 370235619 277263879 218362663 648808422 189395547 637044002 708518062 339948284 582378234 826747551 680309038 552091794 572926078 608854069 160459244 743473367 120739897 171767348 190435706 616273716 321237809 979521406 161760080 519610282 908938387 552700686 751863978 959052200 559922457 939965840 567515634 468947999 618733140 349025005 385774416 159866889 583267423 235032629 441799735 206524138 183450578 702284021 640819450 783679030 259590050 452122275 561441848 797333984 911308289 880081894 831395018 715619782 845124242 518033943 291519979 355114678 127734903 297409446 972777687 651826766 795406807 688967968 566103285 547064992 616789557 821262734 841884495 601235622 870152743 887273757 107180642 948505738 546541794 203752253 712932667 912203045 271764258 418036940 715380901 297130150 493505437 792792081 439673161 434204559 932590004 632134493 287453266 182031081 757123051 454254627 437726781 173527953 304453933 679420857 273211844 817459094 532575607 494338696 620100765 895224565 864189858 604247021 221098997 970524722 876296773 591298416 883273685 155619038 361060391 298036776 481633876 205862503 737060477 138500981 810023827 314940119 682666030 390016290 515622600 757214364 314651660 458414780 280208508 426617198 163643683 858014561 684882481 726423371 760730433 775268075 411145971 284724942 615993945 343894480 140159643 329367337 568130051 236104007 707117870 356344423 743563529 343410905 142305742 728427040 544061432 399847224 852840771 264721175 434770691 237401813 132619186 515408808 195821206 375789489 621883783 255525071 133007906 606845069 827873639 921026143 135113320 327056937 159794362 179141681 652919855 196785499 247353685 475623155 930883233 708400081 734842137 566467449 168679036 477845226 851805279 347821478 697846435 778152172 453749419 325955227 960587066 709158562 174145386 629310579 627902859 249589533 483566131 670781325 575693485 496711394 605571480 514073862 968916842 414461293 498613696 318275983 242684653 282746621 560884157 661980715 203975335 511000303 911031918 942170056 447321781 584985065 537151905 230482021 544244428 782279954 826139455 168126031 614628382 723314065 544674932 702777973 400270901 274343327 696911414 394952691 173892739 780621453 847461413 951127731 219746530 834019320 585412423 348426564 619635403 668600382 925490423 893461758 857928531 254971574 342019727 201871588 910625548 557036237 318438810 466696704 504134351 294387713 810668702 703891889 745519891 703185965 544395857 810314165 787998095 656858985 846428755 712861690 831784314 520401090 542595436 759642212 372750214 487252158 814949495 382818913 646891817 628363665 554224616 868568148 765021552 475691271 114019899 874055230 265296655 851305707 108314060 393417963 917832863 724659743 751756692 591063930 130640454 784117472 561947191 247638106 610106160 592132107 136879453 591535157 898873974 102608976 656212384 300057807 954544877 820035317 386550371 226553721 317378431 724133541 245665817 450472666 230837408 131403220 167978060 183706605 204651305 734972506 189903865 270353836 275029847 957752618 792504730 223191465 314945647 371285296 894427820 800260457 527548702 732095077 987715346 349351327 136880809 668698449 971269841 275780960 275258590 641165908 860384975 214527619 245437275 772144053 486637378 346947705 249369779 802974261 242519999 573873599 205056595 576829925 505779376 185681557 714330654 721424907 480659485 807479787 411483453 275528291 997870665 673474752 888741251 724671872 748149780 814071334 420569509 400664093 183730993 670381261 387025528 443083118 337526796 275540208 432603657 432138080 856601166 922643455 131915703 335089566 583725336 211410080 514459350 860335646 921131224 164335860 655048328 604265948 958051451 427457460 382479884 994040741 202191399 986545773 560018634 333724790 105868377 527564654 908943043 822110403 117031642 101286344 573699960 856113295 367006827 404340694 834360057 698238270 119483748 838306031 442777369 358517728 551223410 362792442 692641612 862157172 822075503 430706386 781997132 163206821 780176763 453468065 480942070 270161979 173307436 530241944 765406070 608332955 220750943 234108919 216981746 490931918 597962454 731466145 243100322 275048851 813429568 678439687 927912769 513931337 212623111 133585650 600990409 903764850 380294884 213481553 812946241 141538314 123773290 860695837 541329580 297335157 826492732 550282463 192585280 284583995 770725998 276848057 281398689 720115356 768084954 713410252 855814029 766255988 858316033 905651990 608935988 428840879 989639391 814231992 741715982 927261142 922670987 682178610 630020751 286109817 751912951 408815115 194368343 308052971 951682278 294439697 819848352 374433876 674732713 637236018 324731236 249643779 981368212 942004151 955399238 994248532 440090367 463044642 531996684 764269937 900731193 812419998 521411652 966844326 572385453 416005499 700739897 977894927 819906013 150574973 310268894 654559415 674626367 326872670 250952938 804359513 884555846 748828957 621438737 640473847 387939449 955507134 611005324 374918487 121725321 535428790 783498109 528515512 846116924 909867554 320259532 472082216 187143265 356841687 437985615 479386078 898556530 248364667 481607253 515086585 280633000 509009253 295017697 798216991 986420934 265111236 725088941 322380292 774853304 363557429 457271684 620540194 703429184 176303372 839016679 290234145 536004937 388632050 574554828 609951610 240158222 197415948 358479261 444260136 572431262 679928031 889175692 135861750 505283241 464282854 123735544 142579871 597058774 901099233 606374297 690931094 377590432 474825375 350425566 508187712 639034197 565595577 356738972 832254599 395864014 729779680 572908039 802298459 902216882 391266914 872268887 150992337 378786502 662815162 229763246 976357290 206863243 483231162 581093148 110363914 215281746 426372980 406982063 400040656 288522965 838495962 804299504 829861242 572117870 276122343 415013165 660707930 965525440 591554191 641355580 492837381 864636607 441142566 381762062 721639161 819805132 603394720 354839589 753791258 517644744 714941238 744980295 322031009 202317420 397889282 741566661 264768487 982814399 222873600 834069770 695993358 119438415 203850184 326741030 139792834 862612681 753600395 942870559 367252066 822491432 982426527 614738295 353486358 568325701 985557598 617959869 275422345 471165522 360814581 844693277 495968758 500026594 307398163 546976147 560711355 922661254 857277269 660183408 352231276 871623052 459549036 573352768 940029180 454336446 114063524 533848751 132282641 139641376 930613368 541578862 446788054 785205796 625356584 594721885 766526659 794505518 946285770 218145624 803745666 548436290 711289826 594148117 576700427 117690610 844221429 127606950 743811763 331743079 537379849 632134836 733225138 108300105 356270843 535860073 960993818 490179156 463965474 943102643 290569122 710463559 101801967 337728710 385821249 791017233 571167098 216856444 434538309 221841978 585891689 432261569 460811862 931316464 144414214 885425310 907149134 130462166 104806364 742746415 320135509 749744803 514371518 868787735 925578084 655915336 248534472 240470111 537671169 781934676 822515345 163812033 265149425 608957962 257712872 542366727 639503252 229214103 656445887 752528509 377057154 568568727 303276873 618753656 854337640 911101883 756832072 341227507 537525635 192921804 720895356 103429505 907698790 802653427 925846783 814365609 655390003 776726125 446533585 299916832 897189605 354309735 555145870 401598401 412192774 429484029 278592873 163934233 791850336 437077677 397390190 643579863 145998005 497500039 748979757 893011184 850934177 222383495 446049821 195180517 895991012 302723489 136008899 508235916 566809256 827084102 852083720 522116512 609725791 263541772 123479945 825499657 523197160 633183349 846708085 280551010 333685618 428267063 103576121 792364651 593705241 632286578 597144295 384274485 829263411 660399353 173346132 626402587 137548199 251635845 960208592 517958734 535498711 608255192 314253091 950357615 992746158 958910252 731907786 430184374 495740758 104335084 439753547 582067604 466710911 616251996 695143204 359676484 770101737 893691315 257805873 411950147 249321716 684255383 507923092 791595207 150143458 656772586 564337673 267173841 576542832 589772435 887589271 992410155 245155754 218175379 979170959 686037005 272637684 786512356 684665934 113815841 128253315 276476362 171556235 338472509 765560139 865681528 249176229 488005214 102563918 243478160 289469263 217259316 430265829 198068711 655349190 948528370 656275306 539454894 117734569 314348139 127603236 267898612 962193807 262090836 492381470 482806980 563260506 610612489 601026461 707255600 173385653 933313547 688421495 625617393 474220441 295011929 404360232 329151497 314708270 407145365 778464837 356896216 861618024 820244880 398853483 666038388 466073745 320004277 440376388 737448790 299381359 320017988 708953242 750954327 893960821 706838799 789001756 614842362 689842238 502519325 675806005 212514298 477901903 845909223 646239824 290570585 153502148 445150332 328995205 385211840 772828204 874890978 770989370 627049400 314017402 992804802 265067921 896205678 852256170 929930908 959749593 668821809 433242210 641490037 836359955 330827660 885238045 242461304 637614799 419584487 174528300 725701289 897961858 287964026 537059585 769263989 418866438 309734186 119550452 348328438 523269119 993797221 360969395 743814994 225692038 266720949 208093119 292164105 785936764 783303053 367424988 755479000 738088190 251101525 543865312 647883646 837055162 442506103 848931678 874177068 274423147 585006743 166379454 665923795 223316728 782682188 750556833 305685072 495774989 651730357 266364582 910989523 834180248 698567522 272691885 692664581 123849479 347841543 736829169 459244670 739548485 227163576 640558401 652486637 870609118 165425514 272356224 174177071 716658003 468358573 806749341 526195013 905561452 686104322 902078982 288517924 562997866 515675416 321174920 305276695 362202193 431169574 287026312 538531690 767223434 351809765 343522416 863767271 765092568 193814591 520867594 777374647 582166933 233906351 719601534 562564264 943333724 288968574 421120458 218943178 352938103 971385661 886869196 853270804 444070099 190778404 662636674 877824898 814701960 823646753 706921202 622353902 824327166 571485813 621713551 970590901 167849777 372587281 931708848 873946049 731584611 624743295 409865400 614095907 207875918 189400928 817513772 536221076 930810655 413349411 966006670 790985234 522781353 600327379 119805222 111372986 867977807 988624862 306983015 407760035 848413789 622156604 760603998 187456302 296664295 402050006 580343146 440680982 880714308 440719143 629295791 910838101 791510546 271510786 660419712 200730521 215032909 206572860 787184826 856969524 358035951 259681540 241382977 457848597 411876887 947251227 570202230 224294546 845585822 343736826 697651196 599055001 303922063 470488899 391691548 205226125 605909178 199671840 108759083 686762006 842403645 284676707 129260797 594585879 552463481 964400213 212987383 325440515 823651107 231818877 109367750 220637225 587384288 442623758 358415925 901418863 303322556 395299288 278444401 917466075 882382033 926525254 745262434 375127914 684325298 618816990 932951804 215253484 583014798 766784936 995129467 317016071 136377194 430618056 132006168 536926036 343977326 744420357 555438256 826689917 898836951 482219589 214091946 953712524 199080513 154885382 712655321 255919242 831880055 686790609 156395620 608627797 342018693 627085549 403562843 818499862 423700797 910676451 103137106 989128699 364282951 557024789 708216666 739820285 495832289 884525604 918630931 740110304 349956786 347341907 407762000 222359196 725909673 878320764 325956825 546536300 136245201 601806709 737991053 712355898 772131494 413607647 268543457 995522641 561029428 494705864 275925280 268550694 288298269 372393499 731361456 957161667 114462400 412703393 779336982 610117941 930305864 561037642 361729114 320316576 659112372 258039262 424403141 433475625 764860783 232498844 350665254 287471890 257924452 565284527 265390739 374367964 156779337 509636471 295165551 827540491 273736600 886911577 898419437 789203521 175330278 455093231 597276673 120981212 743764148 324513077 648041185 396621314 812615744 834187140 890497670 852313058 116318669 123520496 990136379 994676781 684386227 425179872 752092863 597299450 907719604 452347632 862484655 749852946 868256296 109853888 614299328 107783152 784705800 677951607 968722711 863925985 123405543 412860068 949313893 933336052 729380201 829465688 420390540 609631399 172611042 168987802 226348890 190591150 643579340 482931343 826331266 808962884 888804647 146286604 789220631 699063734 693183126 258256619 409402351 342871428 932166488 224116710 478803948 345304009 557598523 934209001 284622153 987852067 236455514 765702550 159508961 369606749 374339909 222126071 471997991 823573060 486768475 151216308 388728893 764706094 443014517 931737975 621330250 328313451 443226671 641987421 727330092 228031145 790126190 697703074 984854526 585983038 490765352 881876986 922767333 271544870 861637386 754884351 757477816 730209427 830698674 217249221 138712067 763038539 544575742 302950406 320299241 540869460 142849572 709659193 206292729 289241369 856131257 465626557 544024251 692992107 697718671 801886715 184175616 372444328 897577254 448504766 110947661 982927132 588990416 481633447 459524674 969690282 541907371 959749989 246418221 665222980 132577842 414582074 482450794 929334888 232784907 691897365 831800925 688587437 235355427 605660838 542127463 787067398 901313664 818796246 273127640 951599176 496548192 797287770 525355253 783129821 855286396 864153906 583080378 192111565 502574769 751847942 290343652 832191770 672755102 620970543 494312229 954323670 621418014 464031071 302440431 709300705 500932102 203033063 783560038 974524702 985615761 662304429 907205482 200409009 127711228 694240520 670420088 525612101 152048053 891590470 679837865 387886543 587039091 322617106 972872383 859577371 652417355 229113227 901339882 341274963 593964198 922939074 231319360 492499568 551424129 766570284 655769506 100369973 977483353 273689231 569606383 864029156 495357982 324866760 386810125 444372454 777865069 478777992 185584229 808957802 473965189 414985696 519033289 272000264 147630564 603582618 184848377 485488039 971056751 525304667 756991939 878414939 740570392 248731195 474806978 818045881 728841641 269290263 491158830 240713188 249033306 387915355 489963226 870633443 464041743 359453536 794699562 247106059 561000863 451301542 478294703 177021745 102991013 700465476 465008574 301971274 333982467 899653645 227546750 251235762 827456279 228157055 240871291 734313366 573976747 872515145 360065009 541539729 928095859 996864543 423890295 543142673 778971950 949029870 981130219 829044115 697959341 960649914 198329860 894741721 143196321 733764333 313017834 204494405 642487946 921287565 467557287 278487627 577483665 914175310 720602620 814647069 895478640 882411376 794900593 720652045 288085133 637841843 200266226 694649261 644237858 167066809 727709698 876465500 821144092 746509940 347643919 292665629 658869588 837812194 107521592 605304619 795061688 674714285 393067443 775959723 874543968 359182695 442684060 124474954 548172844 282044492 596501673 808372712 408894705 641167598 305826883 782824561 536581287 634607443 642416570 103299752 348896601 445023263 299063380 435443489 105942151 222684226 725234142 475988992 388645237 766909680 317158712 876409230 619137015 581629156 509284429 434664056 332409710 329376063 800449879 273370733 388865498 934685519 179323693 164186494 736792221 513282382 200665408 139231059 115804108 273413743 106358876 305560229 530004407 109128945 829873790 954720074 545102780 539273264 416214625 626979645 772278746 684127268 776827392 481201237 389785445 874981003 992322056 474974652 467328990 779816554 128024775 990124868 925571804 820034275 458201503 965255053 749098906 713618807 583948797 342757592 760210450 526476052 800389466 757660844 810142428 299541147 387699976 270993064 720077838 716164164 138644323 685290471 806244686 622259774 382362091 840867680 263967835 128358481 406691969 880634289 475609457 246843369 888063098 220315346 639230248 153518835 662234341 344824241 638488094 916203009 453750604 566290484 432277969 282678492 144060678 463945766 955620973 183646846 395546709 257898077 877968159 760721183 866024555 772125489 224752018 499631223 484642995 449295224 404458517 819776793 567371634 761787893 400754151 626874028 914576133 986711527 645103525 175749715 679690072 852860813 283147320 738599817 361720352 941687167 585772818 224437059 842987413 142180002 198754624 426687806 121641494 315722530 436894016 212418861 995488052 605813507 471559825 787511152 142360309 209902454 765007485 179210375 207861078 514992034 926406260 679743055 710104820 556242427 985468731 475106110 855327597 630301495 270684806 164424241 702840466 754153399 536247896 383580649 676071298 796141638 397995890 523102111 448452051 103911382 198229565 279086659 419970562 345928544 239049517 158700161 264560765 721139541 693075925 501121084 599544848 666377315 621496853 149614003 357516229 512122699 827941528 732284248 922418993 496274394 105843027 513821538 150225703 555701163 240234387 647684136 709088999 846802753 979337575 519854043 684495516 756393566 297716583 594738858 110394957 748022089 297778045 488318461 724630144 645517634 860265349 947422733 906928822 516210343 690173463 318717291 159815624 838296737 840790026 886698108 610586235 118795262 930098726 272912769 328579415 548634736 705275450 922883471 627937005 453768866 425440118 388486177 626421850 663311747 388228893 705043219 704143514 978650337 420801380 445407600 448583043 364840224 844949713 239806380 749641511 577372812 754554461 961212988 236019088 955886791 547444473 273240549 672341736 512503212 452683284 110018137 949818698 319588314 857472945 559613358 993406822 667416405 172842671 767477019 732839573 222403446 893640619 306544579 271318171 987582253 706293657 212647286 699198564 376396928 112726875 742646102 170490816 754426194 253881649 977900884 490435607 180095849 492095108 610017422 749460835 566717631 405439136 224883978 751229624 217530491 174783312 661542457 486396534 523167750 794156358 671800265 362715518 922632159 913999638 947635901 463300549 226656967 208804726 232313346 987949087 814068952 892017153 971525463 216016770 920872602 314831552 270286175 167075469 395814359 393475626 761896252 404205652 524146127 842818160 857495704 413239768 214966265 315028864 260158246 123527394 347508609 490592037 208217531 462818797 502180567 580598391 336383051 994137762 203440392 565010646 626720770 284371558 896850816 483607957 609094060 904198885 987705167 923226263 749677097 836784992 230446958 910012136 823135591 470150555 296597832 471923944 157130857 699574280 213859583 388352259 897712960 791940569 306142956 944683558 425171341 878956162 854213357 691415650 955490917 364665116 583781925 590468502 908126988 766678552 764327714 773859006 115594846 744167508 186527331 331475051 349234078 837659856 610114589 225803730 544879010 746597662 256034958 330477994 924499659 640104218 790534667 759615362 829726509 473776585 934824545 201225568 452415677 681022610 722000743 595557855 397946754 994291089 319858640 496027718 392240849 494752899 339469638 500055641 570610450 714325986 400496590 933039738 664887651 732709817 109972720 616597169 776796553 844397033 662729204 537719059 979972331 254701947 649270612 333296822 845539061 680245846 236359036 788221131 155215437 841285983 772960507 596226432 470817812 978070782 265175090 659071936 523573426 445633190 271519127 632215230 687896975 579783824 609837130 505930981 868867508 936376476 398446681 174826557 525501207 476055698 728772081 291397110 129403289 250084530 678470694 733005581 659169156 880315058 916817628 707812892 784491305 972634333 467415430 121164078 175462836 279332295 963072058 942208514 101390088 446174675 737567163 955118005 702873586 926664376 970455636 184419133 547588547 446208715 156151069 886856006 357031757 445372325 887318714 854727356 260276537 276619889 696092911 751077426 154680429 470455598 384118566 610833248 870455145 221931216 123296134 189567390 893477044 847214757 723321424 104045840 582552792 317497120 165238026 748910901 271532465 845035269 786995161 699875507 867884703 870106705 130916739 846850828 647581530 182114396 180158649 470383696 913288786 340617727 360076014 908783390 329744498 410740340 113333960 815177253 372028634 714498334 389958665 786839622 994821687 233731995 637799310 163249275 600161255 701787270 273046965 573516084 875781038 223680665 180182955 658619004 235752058 930555603 231574099 466494641 547199463 185532771 339303260 690568428 160741703 965442169 418453363 256225965 811160828 177493040 248724617 197030299 394162316 656809998 352467390 145398882 609020303 969048052 237299517 160094442 564017560 346282141 542309067 996906847 587849192 644676495 283146518 693648526 716562067 982907212 121385036 543117294 392912214 973410751 168797613 628136014 480780065 823207274 191860891 310892134 276387431 950161141 998893706 137203717 841838038 601456012 985586527 910568037 729458133 565344087 444015018 277085521 549797310 283574552 806720948 478690412 814790122 356829313 447166368 479342579 690251854 898657120 371016160 348554902 667741924 636370300 784045356 602586635 375319427 616369923 411207864 611429486 924769928 634118306 179532148 123907769 466481188 105644830 827041060 698874385 669031347 466957783 352035033 637361520 985241834 336929807 875045609 522444308 215592311 517546777 825925822 993185045 233177124 347771158 681917072 571665334 485588289 114085502 165702521 436933238 174552599 226901138 306043276 939898559 493313299 846012703 659348274 521595768 944023622 187303573 224995659 412786747 224534192 996413280 573968101 186155963 440809239 243230575 963333477 991873109 529756523 393019431 292154909 424329011 684570444 809781115 242746922 217603068 421951436 762785548 721887766 689700021 124232170 528900938 887969883 508499726 158556100 123372767 963277768 186180170 497255410 144422585 991489541 847064043 247056950 793768919 527297582 540355981 355823509 593495108 794721902 328642077 180135387 604719624 298994808 589202435 852731967 591412213 240309583 848056490 697988272 823304132 636217742 235965126 914237454 823774611 328496285 724464894 136418354 846010169 754844840 109439388 452931213 299887472 933237864 250410765 974175976 191740372 785211710 112224513 953939710 127205257 269639688 408446177 592548037 926129983 149346517 121421044 633538306 353979503 262199802 884829219 404678119 856385337 540154812 114806652 465408127 680011957 929730518 618670075 522436079 609947725 921896372 713654155 455259169 565391807 681482441 679497628 163543309 567768832 877330995 800046793 231686431 601917878 461399600 542543036 566045759 676914388 383224567 435864351 914632419 618572249 634803270 702305852 851622672 776706631 701331524 340192192 853904193 807522165 737810501 785291482 951320078 397669556 960587101 718522854 891608448 377029476 320038617 250102731 252994768 241652646 474287328 893999909 151045648 547957914 308435088 150920924 996456273 809930431 497881670 125200652 467943204 220237874 706915014 117137726 557462574 526867029 394318934 765146998 673225471 985346790 304734760 389461540 855043112 368349684 742839664 281541156 377281800 176583699 879091298 156728965 850701918 576085874 174456334 304405935 759393972 957910733 166078315 199088122 617933032 151520492 510725124 116175820 862460905 368176745 247128392 346205934 531251310 129262733 388224843 377473329 521718583 749612853 626230199 579106414 120397839 413353455 351105756 809108660 837031794 989758732 156307752 536088795 866608436 229677146 218006490 663771345 599181485 579997489 972907108 380902047 986964062 597486555 415496147 118089407 940034563 267352182 616562344 130809811 118680464 697681936 715084447 312765804 185176176 484016008 633751632 653820251 863806130 499170918 671061788 587569346 674008999 104813858 132665842 251043805 827396224 270729611 340680706 402235870 435560731 350206805 916795383 443391836 146429780 224664922 194410298 984143579 747175191 807024764 154982408 663607974 957464355 551573819 669901665 200906733 693698755 272095789 243617528 500663692 146991314 962453677 587588265 292416855 176791175 170100208 892840593 753363248 150561130 251116867 107250049 131858768 181612563 553195703 133834031 649007760 399097530 555879057 130145507 950203198 859700416 633891982 954730533 278680914 111221674 461392419 320127187 411655397 953141099 231533258 476550785 342181042 795978818 963462580 563470386 691040054 727866889 146804966 483671768 941674329 824876332 713128841 236202138 688318625 867439367 538397933 406201623 455875653 315493875 305263364 346698841 241888032 915640713 391775356 494518156 784330473 932547860 162793561 717289748 860432827 441509528 575765430 262246316 669821108 475304178 915130979 557509114 551479418 192911550 542443387 546894056 490094853 951894117 825364241 208757558 556287009 652194134 107013666 449395848 101002885 185366938 494368838 191483058 259829774 738780984 661432490 393951413 924049247 843815134 482296791 105326479 598102391 287703551 257522619 256910975 814462878 563199196 844299642 497839660 889463403 366778186 252434522 463332242 238757448 134196494 363963998 999416687 571216007 614130251 932324811 314033863 868089699 975481521 431989575 337823067 711999848 430856234 852948956 899652159 964751913 111512841 334006492 265586414 682251843 660125905 557984091 928526041 393831423 658750728 999922940 835244083 687956474 274041445 143194081 845297666 334885314 121103967 554362158 741161631 320651403 109127511 838897477 570329221 112997690 979556912 410486983 382976328 494659957 166376794 545200950 165772434 112378206 302987022 227798007 439056405 601476646 636938172 245862422 684801949 318978771 822207275 889766960 261037918 248025635 443704733 307605739 171067377 458894805 608992403 157901424 433494533 629397562 240583632 983838182 522712150 439348380 328389951 418567066 538939879 140990577 294961471 672011910 874618226 429594257 926278017 563760571 574495977 712159286 668304730 614131727 789839595 130908155 313159751 676648923 337973755 262744674 497301112 685443291 876554358 758537111 703302488 416715410 517776987 699136053 336169741 450268714 158251796 225094761 406465231 486451823 240231377 162882897 638817798 932521984 219065289 640925886 397751180 106257527 509575856 504216823 209418544 257064149 497566666 967896289 507164428 740747721 735504181 239344337 152693618 691954907 776168455 213782610 942817590 401185567 676682826 954531419 180115254 656123571 908948565 939628720 674099804 439743921 217597152 943381791 394725785 671585707 734450879 639246832 256322052 653555125 856619464 763115814 825007645 532094203 197769468 354445544 972328645 789738909 179713121 376569901 376498317 318603351 112645535 371688790 100831815 828080508 552176888 878920161 145395212 786406586 757517007 275412723 300676035 638739668 532159347 837767199 118321403 765704162 236798267 176540156 883415014 418494834 359304133 537898047 149902146 318204327 823639485 817830258 305715178 405657713 652900939 589585853 607289212 902360791 974455108 919071816 495155470 828171205 472132202 622809864 377167972 383337433 560519563 787496275 872890739 742807992 514244412 413669159 972577269 181290965 536855827 745572328 771445182 875236790 949309421 811736364 483026411 645314782 995050681 258021136 527304280 224012050 991187836 435005531 293649414 631032836 846732544 468150435 298899638 928315620 617532775 273694075 157536485 704220696 443357797 608946406 105856353 366004091 361852393 499444424 724152393 539747362 162874023 880370635 877902957 203877419 268991919 636632790 975130470 982838022 782291587 454991865 590131434 878267849 319399963 534970078 869327157 700209740 941928086 498195573 403984708 979538474 511484129 207190779 752931293 665472262 752776663 977921022 283170342 260376704 987272648 871963547 469364355 506273867 993572775 186744470 614415655 970520494 650819430 662886954 866973491 948965190 548616374 122719668 177281249 968170414 738158527 877840265 887833637 805393665 728984224 705496374 914925472 170137849 164284407 284398506 331576581 881837456 965473968 409284928 462534767 423909689 102733203 453834686 603374656 655771082 185224918 522559846 330579409 383584187 786964169 870717747 444858100 271679267 904260913 564163980 681003242 294513735 738285654 249586342 923488820 566752789 634514680 554348990 138229417 113054399 871397259 725067004 329900943 276014200 192134286 224060853 930197585 263349055 191453780 679059012 578357988 426350316 653847596 773250278 805021651 694729191 802977997 534556428 500945536 404975634 818348706 392693066 440515779 834073956 788242897 377496051 291370041 827483835 239507344 287487183 897936692 981486468 407370131 782921149 410614508 451897554 114754776 348110376 833736614 491253409 558792424 884495563 778546027 733704759 716181284 560009362 168391618 476499178 755204200 744253467 894548914 857777603 160940174 607642421 993481147 363110698 244230631 888728873 924297332 633998027 314906493 553010634 671892157 313635617 193538850 707940475 249000624 468525018 681339905 192837256 945740522 467487584 169549466 164248683 391117146 869188248 931270109 957941019 949056398 148861344 605278440 118595674 185383470 196161921 188572487 462238328 313460090 676491845 880742233 906351969 955552213 631529112 635414701 240804816 449171038 739082060 154339262 779043733 512648349 147546454 678106826 783238886 500899268 109469860 204595760 737072396 823502728 873475877 347199819 686399421 261588704 529305646 749737637 235375897 310684198 145908211 493619744 717446032 996687901 942216846 195980173 582658835 138125535 929248615 552681703 770310702 623711631 442819618 210247416 847440143 422508535 814495974 545934963 980495308 815493783 985993532 679148868 181829564 480135307 574976492 373700080 291838217 926473658 901647866 802208655 814364504 230522353 877724977 659663990 149428733 695222482 114306230 636928588 335538971 261562176 802807932 586974626 587409196 511407220 767570680 977107397 301411564 443140623 317152993 957155202 827873313 826764596 672840553 557138780 394005127 764207868 928192282 799412429 228157104 148181742 443997159 833908329 836487932 765764483 943825451 493002755 243308029 180513118 670702265 203666310 207408967 723913646 656798562 327531242 650289485 402651391 393368182 936939817 157335809 591440793 171120592 122759775 907818184 984959782 822919478 591238956 580077860 499788427 584328376 305203122 529413574 806957524 403417558 219777463 509324360 113120626 633783077 343517335 155301098 404788571 910656068 348450172 176723401 419489596 327222133 381590843 231715584 989944257 212706164 972193841 203988578 177664737 217245695 678054322 704480445 252369863 970726287 707340558 650465133 801382225 697078500 683010494 352562840 129482214 802938959 204970125 183627242 883552234 835445169 859442527 166147413 572413066 462736790 193224800 563447496 654624912 378874832 717763688 472320744 383584791 940766904 179571860 687331508 304816628 346340350 586414453 594135206 127096532 628848422 681436480 492184446 813522117 127737298 280878575 437449140 173728324 755000392 425375209 269596950 728112019 998198793 968322631 483956488 155531122 706656047 120541863 593272780 261420482 421014191 488695767 444191721 634970581 392849656 662018999 105590084 299257069 218995266 385025534 873305678 593339858 632759353 196931182 923115905 511352743 403313930 331143634 263818069 576360042 923094572 834570295 154507372 978729559 200119687 304616792 142202731 130920816 840987990 250359305 342625183 884417109 505469749 810492942 326195380 547329516 962500181 609597021 956811880 293791380 669721369 212977082 414580299 164472113 633016132 947137155 615717078 963805077 290622412 345068654 270597314 668609863 581331276 960021065 726764790 356952173 973155179 405026905 973103179 597217998 858452174 828682397 463345269 768347011 850895364 531128979 220267735 252477964 209731131 525599724 779687735 741178576 654304565 471850757 982769472 225637254 854802683 348393443 686963331 625317729 662182447 574778931 196707797 119749328 319519538 854849303 936595280 235687080 831213990 891534797 731224783 146971079 634213360 865204368 757166336 707677408 932294348 521137664 124462359 912213289 693031481 225279499 990318348 664368369 500865692 913426164 133362041 677550982 135493796 707261089 487659439 373775895 766003280 590420746 871628059 570441461 895320629 731146962 816927622 704549259 773217469 844598455 318014952 574625568 783311741 354045073 365891929 916409895 639397678 197353198 857725450 723788374 927041259 671202413 752029150 771113214 208744927 225459822 425550687 224843483 883749532 645331092 148089124 751878142 142260512 681255563 965068259 385173859 524259564 585754896 634841008 421466128 555003877 404840142 694517707 873016157 685394260 240961133 721813465 813778201 791801570 277647118 847692965 945741448 578406789 902243071 339678118 984800715 473572474 233386033 713377499 711373477 397397260 872555627 960392600 912064286 690801770 485523474 858606281 316533613 713648607 524714066 601179966 364129842 660182514 709389647 105177977 367241037 209194065 654876248 245674968 164577545 553531204 941100215 679903003 879310138 909559875 568590311 237388715 328520012 603251940 189549161 253277761 428674352 910459803 643454816 788161415 284570250 785068994 720630580 857755092 856914170 230090254 686289754 983220311 381574534 299202403 843971549 857606993 906947010 686485858 352205987 345937883 605850303 350079662 114837060 820417629 651621936 617212380 999801176 283076267 679855173 504249257 959833805 654138146 267192059 690080917 117350666 587974608 913493084 875658795 868821125 362396288 678352938 126466676 493340830 112804160 748759962 939495850 141641813 726183686 457564438 734287144 529836666 305854666 301686737 560939457 211788901 838347188 829682190 948217353 342184282 582104754 567394687 754936709 732202192 445781378 979364825 346046276 768354252 862808033 186064045 163157352 706162322 848678635 308675462 484628555 833327784 805895330 245590491 560732652 869754628 445438310 275116554 146189905 986449613 812203621 198527531 624198368 503156297 105963611 659373256 280702966 629608320 926577583 376677663 634521201 603396412 697902955 591325595 276833490 832457747 779640865 836937984 417624621 468113080 543281759 527141719 923733590 976556094 887436495 293745584 324920554 453557763 831506487 891695463 427004957 733221857 971455671 746215464 111218332 200740149 178208544 531770432 514321204 252983025 365978193 818785266 176983685 866896083 778141006 995074939 284991513 147789918 839165608 705761314 744395669 349038816 579325424 508016349 246864980 857763646 438445804 850070681 690150598 364639306 737806682 282861063 941454260 242707296 825689263 257227573 402237581 648432115 997489960 773293921 838661356 360537703 547040561 960724225 771013739 332571346 808242815 326057600 140666476 524117191 320182172 837154918 131904399 253031453 156737656 643756185 533446081 584271262 137075247 325832383 417927395 277096961 435883186 101964238 820098922 375084400 193194453 378502818 236989054 513408499 516905271 949254571 721121020 533160635 452569530 543242287 533254098 741804935 399626161 106488211 206220792 474236273 127176189 492261512 583735834 918615208 472174748 165695130 413400106 480340299 521254280 109302010 970236959 557985632 213346114 368879167 133643952 216523068 140573329 832023308 717744276 477271256 254738298 418327989 164428461 383851867 990158502 196839838 471803718 816138863 743671743 162086447 207169372 255557165 600587194 396301121 280821727 509523485 832094153 507143960 289034808 209695072 257289411 897354403 617281237 169507334 263954076 182993120 837648035 424460101 491568448 228527645 508878445 692739164 119583734 790357016 953525708 660227026 293403124 890230500 949424320 748435504 628633575 207288425 222672843 527861888 996584046 671075003 904153659 995590188 758237183 447758840 728130461 495819980 678447366 540936819 513212558 340530503 583275977 154578131 816559964 523326713 392606029 439114140 117782627 343766843 719477675 902957518 204128552 103259536 331575545 354516804 212540724 519327179 926899558 456500265 730861328 395236892 138420504 598068137 627623800 803192884 323210423 244067189 886273420 961580902 810915311 420482221 855819267 186255711 355642350 148802766 203991109 511042220 353722005 779860961 609876371 916984662 207978642 963773843 289029928 592800623 884848830 635480945 544731385 345361049 205666610 132194832 889711128 881684428 528784587 357088929 174863897 727587549 195503857 756737231 638304429 620429134 823275157 467317699 194035808 725001926 543249917 684529857 110927496 588490622 113002139 599353200 424122116 454030525 259970516 966243221 596797389 649759180 493506645 269711557 115886980 136159266 241321004 766548777 383471583 682017302 326667087 876651259 908533230 751531468 455290858 174968069 269253365 598923816 938468734 271651687 582945062 981249573 793216320 750787045 670340088 930336439 220524274 274094683 536785513 108717378 874305915 954359738 319294708 446320744 476982163 255123944 865969269 715776305 691376355 668729224 359350438 791627494 324132573 370236496 684125732 835109454 251091115 122802687 291415649 608253923 760386732 986129747 883600692 189230028 536023870 514526868 459261087 949004013 866743757 186418501 774671633 425254777 905417804 929099547 465012924 450389894 359007268 281343587 836693866 205471540 677033681 415739159 958116337 795087041 914225552 137828362 923334106 815051643 612439277 351320921 729904887 394579258 443670855 118751087 481176494 798723201 496880755 998315534 377896947 852296586 838894458 203176678 648240143 622957616 759827112 844206826 698166211 404787242 415744643 765346807 906065077 808635075 545879708 855758809 765056596 808260266 829381160 115416341 603911627 572051197 425575646 557395554 582368627 279629959 852777206 731364215 173143949 361171206 528191187 238868979 930517790 991928072 776915428 793984435 729961961 663676048 345507489 146744880 786902487 872894385 226926244 424860466 656113363 236576493 251315576 189651835 285946133 539363439 117872218 656327647 107423818 911054325 509261846 138278650 639742536 421839143 962423574 403867091 295585623 212967439 441873171 533342840 137243841 115660529 863977813 139003038 889013818 665497905 405622726 163542916 929579346 928642558 638257791 667882527 534971402 542674713 390396377 804951867 217786681 301706475 677536615 332260279 608007193 654190425 517635909 287849128 498770418 882931683 644194061 633905346 980350739 940713175 577506510 432748071 394355126 689469838 964935697 656800596 352159099 676413890 982263417 966184454 803800396 806087222 913006134 410649890 741611039 688877299 653512498 491871421 175551690 189778660 151252124 615485341 607300993 558668750 183454003 255505569 170692120 542936746 437893179 857679417 345313894 775298293 878841882 839016892 491460008 945476186 337809575 810655000 710147523 368238556 942773978 193131953 757013336 650238113 943627763 610973443 957750522 365478421 481534266 856331869 951280729 720329874 220330067 710381123 508035748 402298156 596885048 933074611 583670701 329546760 469172448 639505280 352733193 973081733 241369115 645336802 952876608 763776015 849351855 171294282 483656117 643226272 159036329 493758672 956272526 242950189 702907283 673762792 421323485 280503527 544586487 889852262 855949956 654199584 840323859 542668980 794430941 200280701 839512748 933108351 274857686 340540344 606512608 606616654 583208280 682430983 614438707 576232719 832292830 611033327 222961836 716964301 591705414 350500719 798119068 166773969 943258702 785573949 108013352 272017698 556008497 518269061 939903642 369060557 625861745 318747128 113842930 813079102 736706052 755430375 878954567 239738057 163350219 277348258 385883769 994534420 876939489 677230484 406190743 808496387 603371798 357612647 709683074 963595148 898195840 391468299 867435246 599571857 490975618 237666307 235106150 432948213 495573513 508187415 815172576 159232011 659831847 425473737 467071856 878377701 557106336 743567887 488968192 850916891 716267042 781471395 154486238 444262177 691861523 224623670 555031271 825640407 613324486 607684307 366763504 940907853 498553375 762613731 619386604 639230240 706818657 323978738 886901495 655036472 332333703 392665831 845431137 622762765 707027573 671496247 125338781 350022389 475600751 221476875 837835248 140918416 662416215 143986248 925678978 686814264 928601917 625832272 337315736 212838381 836285342 246903054 203417200 806656946 220145841 501247186 891039755 633062031 424949314 767032378 114311867 748136215 889544801 110982044 183575249 839385747 707985107 127699102 398497407 422861433 883218633 536359175 351107104 107584602 197906531 861367511 548709691 491564135 746729029 134297509 235694005 150537546 322677937 283404486 681516185 825392181 967841173 912752874 624317432 636744701 563243719 750291679 779327228 679905107 455211690 672243327 496547003 863015122 518125540 658060721 390621320 411395770 756725648 256676371 334491323 819376812 749416089 305458105 981019616 699619562 806809483 981805528 773159908 163655641 126601322 949740386 853564963 756434489 273270880 417161896 641352522 842527790 343585173 337542753 841731851 241516700 601677498 538159066 855377157 616449256 388684454 963614175 308271324 609500239 849813115 710221934 795133242 264901988 120935728 666848680 142149240 434941199 979245767 517907122 543789611 755904106 751266030 492722338 794791144 998888639 687262104 363580897 880880514 634657688 351090860 736094460 937532157 826666684 221388406 467982256 926805079 560658262 346834939 769199622 859298628 433996501 693402062 307651872 235786061 834466372 853861627 717536739 175528786 971466851 323940315 675578611 473955555 123307098 771796618 917996427 660147737 875689550 369434801 231398488 170938501 915584291 248645448 898304101 816072695 473224370 359724134 874594005 621058739 325442157 621185316 496895011 191380486 118123333 581073603 230157716 981950865 498694880 567979794 221732200 132652243 196934804 314680131 887057406 934413895 139300671 160464775 765891787 391966474 483719723 254267690 458708948 307896982 773452054 920203946 628592990 189747621 587982219 758073650 416363421 530769871 402778888 202874388 902790823 640424248 756688939 646864480 628183036 558194063 791986177 787055941 486073431 667818611 434641659 995117226 891289081 451917582 785727597 728142804 960301779 834697578 830560320 580607722 817529383 601240810 165667291 956232116 248119169 615307998 329017884 618441301 714073523 409775944 528258471 664933393 538731335 125288513 663486550 544839006 756768480 363336311 186126775 453830706 464297025 138130302 362320683 971754421 990850337 604304318 927045400 120443536 653133729 806508396 265957658 591485075 996480162 418851924 541022793 869567598 903793829 178874286 948296376 798473631 894310767 291078767 401972237 312866938 298051724 333040158 350096313 306027538 803738313 978590223 622593301 288560289 498491486 285513941 480019747 999395818 230402376 167311169 680479791 528528674 611173583 411744984 829088606 231425524 301991334 762435447 563975684 376553850 420510923 650456085 989479641 396645227 797850062 106357020 404072870 759446812 619581844 367932225 434930031 902074568 992471522 132234971 585340863 546274206 140067692 990975488 373547821 897017949 579126817 355782621 736352802 892659100 855852336 198535676 645524344 195112631 133195849 938791686 195684650 307042835 489583862 191096310 361550696 141803950 899460151 925258254 525280184 991593601 107770890 819561972 690634233 859914673 737252744 290754526 671887090 734228518 390985149 247281861 717653935 154875598 653370371 328322163 890252737 900560105 560203535 918171064 745779410 567339458 802540570 412733709 384161903 576666100 121800853 893019044 864164441 910930712 989124230 970228107 827430753 428869815 294051837 315778398 352309190 236311754 330496359 740134906 769231854 520693236 444127052 931068707 620445903 921756107 393698651 563701872 669597576 309999484 628586611 425723753 784783978 719342822 534739970 346960538 468195752 352269318 163025988 591457018 807015062 854362552 978648561 471726162 751951501 214798824 103086191 740064323 242879796 953015224 945392645 701439720 815602119 997395163 516040511 714680615 490891430 817844125 308021091 431764939 353361830 818059571 359518482 820023746 720897466 820836953 986561427 566619531 301251633 781920855 171592402 978433361 107645609 696076613 302287691 874092814 578408485 438128160 319610036 276656682 903346778 155474873 919301716 746986984 233355476 639834927 760846024 721978212 173997147 751069103 952574390 219158762 372273840 546108683 690472697 940071208 971435503 761161888 889970225 271638350 347984293 126220405 454859921 412588233 560039434 251225485 371025131 288110095 124439586 394301607 482120521 774048704 929048713 215799966 268743289 574083605 484167765 920128981 875159132 383194560 794249238 249374653 436265656 552089086 239810602 610275720 500291103 171262788 777688477 104754775 109521494 431178821 670909003 730570089 879182155 283459212 273517149 537589661 963859390 146092568 474134480 214509731 947820548 874662691 327831302 665861673 306539689 599070505 936761300 930096825 343775535 709393188 764426374 712267564 567529969 425184443 295034429 706771013 188862553 828607629 569410853 319986002 717702324 376142840 410712546 375887684 751830583 738684247 689798429 935375398 753090955 880337927 585655053 991860943 704956193 303111465 563243459 511941591 998269839 450461709 820191124 124748141 358111483 233706261 957335234 896268254 179253245 749862734 110702417 423448311 937272049 597833236 795336991 504461678 421678547 533959964 855448627 456636664 998764550 994778973 465291987 796388987 791301856 565497446 536337524 470519765 173339754 217581379 648761265 245702498 908505444 715317414 310977853 474463212 272780032 326503174 271607254 275699481 741503897 595539275 271780962 417814732 467698014 827187007 364363656 902214958 979724251 318815123 197165215 243982535 909325530 787646483 478441355 706112804 520718792 139665935 381842505 424582665 721747322 137252365 573607740 805333810 735931602 496705211 114633950 628161993 360086124 371929743 554210124 858028283 257362526 879080772 941669546 562242319 596250540 564612467 162968557 715013461 518252551 719041493 826335553 784779433 742723483 576321086 615944511 850240226 179597298 416107051 705087270 198369131 218464127 550664758 322866576 931135103 130866629 283756807 159408664 658971922 452230951 344671857 897643348 409730484 683063969 693292927 691491218 861513429 587387055 989086229 306807681 892485694 349447652 654120092 131124856 310370238 726987848 486167173 623492668 951615571 535645350 774873221 358019498 825631238 468086722 109390281 747116388 861917967 240896976 498614936 406907498 290167182 734965634 915211030 632602889 784075749 603247260 470761974 914786749 360525134 957149715 494335785 506936388 861979915 727454230 725596511 444902925 903098728 704989326 391289580 498547143 480107169 454800880 513689563 956669648 294658859 971684855 972076727 601949043 380873510 561347826 585894681 831465250 298573990 530882984 148997071 974777589 438828029 396840953 534751323 776586540 292757097 238472219 665498292 211036549 218341152 361703014 167468414 225352576 241164378 900440118 229016105 445761455 992301819 922212287 324126292 451164729 969390602 788462414 232244834 885029987 719384604 183196200 323575700 679989503 659537629 957016499 574573325 648158948 427177628 946062143 810437800 535415680 548440536 468870184 384593207 477325389 142878931 530837654 396752861 415179019 202641667 531341764 804439559 112020711 279361333 718803178 894711073 696021397 977027533 622662240 976605373 903157788 667592370 990459960 659758777 170361438 965775260 810509803 350175398 625979116 281038427 185202810 678463325 509841666 922299866 303043178 261338308 360727592 728445307 183319853 717753710 165409606 400718361 762466646 879287842 342966771 680350900 722471438 706129198 898826334 565575624 980920599 758698779 488744741 754946235 898449751 841410688 945797723 251862722 369132338 737238510 356775192 342967844 913935323 871799264 414851347 431322518 652893045 455022515 383375452 443347570 721886219 671803211 198004565 725698279 730772608 567226302 135513443 477390854 497850746 423544296 147889983 971678062 464276756 379621266 417275563 655765149 569332621 271600991 885317583 299469118 437512863 843412074 857655145 661530327 551480879 178621608 374042428 554336523 914874660 825425302 758664974 996760016 720731425 844283928 948938178 665867697 248660430 653650302 389787835 663995429 479656997 407999697 178779582 930862450 400668678 622505867 746296510 773240954 861651940 222799368 312738264 718073760 125146623 109962606 132574894 567785462 256150287 675130531 804947095 179627180 703402148 536038588 349412402 671991496 993763866 279867603 136667954 290208676 912388975 285228632 232829704 967012099 212848964 840936243 785672210 443094927 572243637 534074255 707261634 469813743 795115033 386325181 471087419 471910977 601491711 262198707 476872207 323356237 436873053 542420621 447424707 201498457 708046502 679096376 729140145 360875214 532368544 130624474 828799963 180533435 933949514 551712601 946194986 279282471 851100281 874752259 134384748 975240154 730378093 745122738 580576592 999645587 278779715 806601381 787030410 446692012 993857157 364676864 348248541 273654963 526618048 271759210 363357316 890398178 588958317 262872787 162642325 288173422 309994759 420486162 934995313 264497339 745650720 766893928 787753790 549384524 692276796 433260887 707476005 700626153 545496818 771101844 537844050 288596746 415754189 391445456 291779646 478173840 331508662 313888951 749592726 504115596 658621587 114030548 320097381 142561018 171672051 994072346 335173087 131595317 130056464 177054298 398072790 285439405 419173074 827627974 702516920 932944442 609105658 269660447 163019937 487985562 648082054 918230420 886262344 419404170 645001808 513749409 899516944 117257043 733563329 437659349 214711527 877495811 390207235 724172732 891643188 676821778 368894866 432554079 140323060 720212470 367328308 697265977 160926079 701646229 284902572 882348538 297238125 237012407 802505312 151067922 168816627 232856419 967601486 517025990 331450608 285291604 721980495 516011762 908898255 293855660 551570864 471908588 469021640 423858378 580216447 683080651 684448574 730477959 986900831 965235779 733268135 470777409 770901022 163655358 803369668 303011396 929651739 652484439 696185608 448489090 138390357 866090173 954231452 487610810 535910757 667200623 498163798 391071939 268135240 247595893 769032934 711465070 904604051 281007030 633554361 902687390 228275901 384682270 689274835 132419395 672133903 970856083 869421905 616407361 156353427 468554896 467968666 553038257 368321277 837028998 220372712 906419497 208035110 539625726 738170779 557177796 547138008 342098106 628795671 566423596 577249449 563879934 570196812 968392491 817256136 374073952 175510100 816453783 168151988 815202225 338022433 210580783 819979818 315212129 825487346 547486644 481920273 809876708 131764282 213187068 941648511 384732599 278208991 584299357 345473856 506686942 734801038 333001706 881666114 154923203 849460243 410807349 927231300 587575581 755931567 548018393 694643566 980386243 749492868 555355245 546553584 951129244 347895161 254656485 623647261 169801536 562169729 854722311 874413299 936170863 884054744 797320867 311076357 742486655 972272130 201527578 106093884 871016275 878071103 503037470 797316538 848053274 831641792 992370819 997733071 823325524 312555241 916066009 645654653 658643929 155475175 972099974 911803225 364369522 775854172 968121205 232540613 451251367 627375662 331686226 832553468 117969451 242312078 368511387 651119659 380597768 745390857 986684860 149533018 718443870 929332712 881501921 128993759 604212502 297058085 495619810 282386388 639978815 911906756 191834976 988974289 876685353 606299137 197176557 682225067 797428284 628656248 330917360 524824763 484528253 323609308 859334936 730760347 323966339 515967982 965566878 625206383 719838302 852115856 897948502 105452716 859579985 951086881 289775944 143437605 244745872 753697951 697814292 359026835 321619814 152386073 649301000 532141295 871151839 369063343 759381011 227028835 846431468 834783642 761568613 741737379 635755264 395247571 567841188 672085189 171682010 629740994 299865443 221858440 359475061 836622946 274304748 822786031 843621470 325872294 760166513 960478405 143071592 716231518 752694419 143116080 826581377 826934313 434192258 203562411 115136604 310869106 350310673 888954515 682050564 290160194 634922259 788071780 875449461 576154891 664928274 443574586 375447931 353296465 772166852 328254689 362057343 687085013 686231911 761023646 292458673 318743742 409497933 442014717 252425083 194752558 230444987 186583351 551293732 741942230 692907630 728815120 661648234 192535275 359263137 359397352 308086989 426151535 722131070 713407603 284972660 932068308 450406328 407187033 760218410 678830464 686921684 620568989 268248851 319810458 916382729 847249075 754815655 910532406 765282911 246541220 743371879 906226381 661087734 470406171 971821862 329044807 230303669 272000827 435597407 966295589 740008338 440111660 393664895 792511016 606117496 607112074 163960308 536829118 198386561 374561179 587046438 681374889 356640035 418228099 509533802 606872195 624539894 432921962 479892522 154465857 518456723 561519455 830725893 178402355 971790766 706583172 165075021 295051718 170809931 372889082 796664979 994327625 381742168 890894089 302345527 129686381 206806781 870330985 567794214 268647842 117937659 814931874 868896408 295555652 933676480 110304417 159103528 229977787 915577968 218339347 317248917 330008079 720455104 748289192 720024672 202726036 147637175 227960323 274781436 118194894 850718672 747183360 954972346 532078269 709607633 767226943 768511348 864486147 677940232 685377527 297555615 374745929 382972089 970985821 205736475 470138849 185882419 595401984 718573320 207372212 270293011 130752357 442774289 533982186 963390152 198776990 202250553 504125790 480202447 305373928 658310251 646529342 866857078 258168008 419954468 770853142 893631939 628426027 982289077 514583371 619587884 251291743 291377813 466041338 718138093 544368589 120931003 304078375 865244027 163857908 911131544 723270686 585823278 914324745 156193697 332032761 196255465 876200585 467731989 450908731 981826135 114170037 981639922 798864024 589456689 906082895 150532968 880431494 356558547 718300146 330255967 583455803 530770463 909414896 938836546 834118181 233289809 523883881 627354904 178553581 814556564 467098397 885732293 443870287 314266067 919140725 387732978 761814847 222855217 260886301 703242383 688869503 587270873 513740804 349180684 939102193 676699737 180465237 755940253 519081710 976648493 822146130 868019236 793883349 432763706 585184174 116493928 257557104 457051338 825257274 236244855 250000707 963880906 932037277 824893744 534439174 310409314 901955159 270012106 651882344 908293265 930132047 995010271 452388763 435420121 630766040 659207507 942669549 553462672 960315903 292389548 865384550 842009373 488118909 699604613 984090772 717890167 895477588 867786111 609565762 163222284 138363252 772537661 778697211 477651073 428054340 149339698 661333141 167693425 565977378 107480552 543106482 953318067 213363906 180451723 765591203 379522687 993759969 522791418 718526636 746819061 399015174 844117589 154138423 487046231 862094848 732659457 190092350 523222682 743490285 206370105 800785334 558975393 847961184 817470533 392323190 682053240 608935101 590120087 131216530 743434347 629523751 276650167 304432863 686439912 684342745 766350710 629760385 760304956 365536799 210369591 806242142 303941718 258991779 810814960 428762366 482567899 612971457 642294290 824358772 263829161 548211125 403421838 409008054 738703828 583300033 906820473 721856612 353220666 612046238 458749778 479083726 644386247 895970326 488496977 310108626 672401722 840381284 746842445 476447866 350341310 245981838 866370212 848781275 493102874 753622471 871946645 723321416 883406360 576770429 760411803 181047137 307301780 645057940 580468677 415748474 347880979 418274613 304526526 446206453 728788343 470007040 512395022 966769501 695779076 672006253 191448581 715205251 478307016 227501466 687467846 552609845 674838420 452942789 989908447 151174123 627712084 965977199 359433638 720788017 779364480 384315027 276778201 961586250 918968545 698354622 541677072 269710041 215951196 611691117 918028152 675779994 144458786 943613911 759590616 321469147 961007136 602008069 794250519 591281996 328210816 468121894 392004077 364753935 912612641 667263385 185089164 514943726 621672614 197330794 911181844 765613055 148316986 947972476 841072656 952742232 439930664 287594494 479881861 572957223 589921276 794702919 287711827 507530780 320797407 814107212 309225155 898848321 880021494 341248647 838308518 219761359 785171461 592727796 289273523 728021126 438584531 854008421 231188599 717730992 721905382 429345791 509637794 174692033 709813218 708636462 644653539 984777742 377263723 585414671 594878847 561857894 447569249 557196218 605003935 615936306 966847538 366073459 545989892 263825685 451411911 998812371 546167291 500150772 186060077 561422692 214246728 526256403 242132569 655923108 857017548 192290909 192000232 445419711 816289779 390746155 309200074 314404956 561766477 563397493 678125415 636548523 641339793 902495146 750340988 937880860 142527935 247958240 964171281 754997509 161511340 635929602 298340485 727526228 674825031 302608003 203409502 142893590 813502312 106833983 646801816 496428637 621994173 943247793 896690981 165326656 630803293 927314909 568569750 190824901 265713822 480612241 227743934 748520483 186640434 290260620 485652170 156042416 601190943 604304104 833334217 330775824 410871855 306512302 624634307 357912638 583616797 608359965 932651185 323896386 559280673 234869504 608077892 783972672 412539394 847147541 381577052 515411787 284811599 694972752 793291709 948186890 250757596 985842904 885542233 116341785 335890120 986730542 265904993 899354825 171839200 246830589 936874532 338219435 734403057 159569767 465271573 741202150 332895447 431722455 302711798 620418159 551014264 807449856 771877420 689412474 354548508 668387158 896856614 824550634 152203992 646770590 247397723 156076329 133917067 869243323 542415855 183834737 118054724 689789028 519637329 824987310 427234769 645679342 603525204 837912177 201763310 832869876 274571863 216281656 553018100 972862580 486135501 209671086 229453354 341971263 962184526 211206797 919125755 786331914 970713459 133402686 179769341 335474438 910513000 698340189 994724345 755312897 878190581 722485703 744358509 797668524 839763454 731493179 610077109 454483183 195227936 500855215 107841371 191853886 614288890 777898075 235716156 604140639 225227561 348942484 966130039 869035730 871361548 973755572 918378424 842743170 371133108 134185184 757150620 668246590 786191988 901518052 630901839 868743545 824282374 987387261 773827311 547629669 730908727 487081138 824253528 449814154 280479871 593647432 732658223 306212113 727905209 469119508 170130996 946933026 645208477 231649189 235221474 868838015 431961177 826340859 765784986 599441191 341683050 702812058 118395265 294529431 536340981 359163719 684122806 442027389 631669334 226359499 512777803 339712634 804568715 757689609 541789042 518733347 197140539 761961468 529959821 499824419 334107081 391900932 815156236 797132717 760675662 285330533 770162619 814838054 160396114 845673519 299907258 307864651 503939912 701061075 445281941 586715866 524854954 289369455 601547242 444073909 461846539 175328122 542377202 488236922 682629392 947701144 929774682 239326345 291652684 521859884 561129667 819548671 142166577 552150637 653326061 651196190 512718545 226777512 489666702 822591037 103659727 377850355 809878972 591547600 434079749 656008011 673931032 790426493 490023637 793590313 880510697 673445733 235016559 998567213 349531334 311803634 618515536 333775683 485235407 777215408 329521266 487462513 976371159 136314039 499673166 586219766 390321882 440506779 307155904 981081810 975294522 307315397 870552601 431284251 103686083 521061069 772992956 191663812 124021185 260988719 377277205 329239069 179383688 763014806 198912615 814246156 678127995 577008060 179377530 148204328 997736270 958684515 958594771 485946267 332418965 637969935 143593672 799832984 714619609 530733517 444761524 422393069 888235225 912242658 329932845 539518386 897600661 212413889 631967737 114167710 531810535 288101498 910489298 438341740 969948248 218841961 482470700 667623169 682710873 465656075 506775199 300022155 263293765 376530733 536920527 658424929 858551199 417559378 292195182 232462000 622985573 736036226 862910219 782453616 161524839 975048276 667178248 261943599 713931210 746185617 877192587 634184694 681309465 413009337 316137182 410793328 118787311 677260516 504188161 384133462 190237211 429645213 254673298 881147846 417888812 778636794 291819032 895151852 504569100 269299273 190246564 893601212 319659239 488156045 632475890 380187242 968401329 405802341 743277976 397011747 716199829 732178280 340921358 209459267 759334031 470543350 224873084 373854726 738935036 428208823 446276066 846412911 663467762 367520255 389283952 421245561 453755790 659926888 272176581 322781525 292814149 655520396 368466926 491086539 303488821 566544376 600680105 347610240 825791088 925581857 797414831 659269429 680526437 268506204 311734682 586518033 682471736 550486578 748012295 491086332 268888508 489690190 622406712 831938688 499854758 734786149 259636082 206684514 427283075 793578596 928376661 278354043 978967685 688652602 419649629 388704465 503545508 847671978 257721845 738939965 109160948 683480547 973483021 421287693 279231656 677531411 260453769 496027712 913353184 825719474 539147600 291003547 836324326 990117526 859553727 253998256 252015173 106468541 905903867 933023153 319493399 763212921 304926307 525649857 756019118 155624956 208886721 363127733 347231309 365004756 144369693 459160883 260633113 614625739 168413681 658498660 479008602 984734872 577320217 199879838 686038465 742578920 909042326 402441909 810322745 525297444 607625264 700056234 143573556 296389052 231932396 349581167 502856986 557352731 675120549 615556019 711135915 819156052 300568416 719361351 204478806 209088847 933340301 796816781 408897297 197898732 287785833 520218415 992328659 814362802 267264671 140805507 598704655 442867931 129884121 118037292 595352572 682239145 484451125 685543315 731144145 104555617 851971070 249153491 939378554 150459984 402547306 407525697 628905575 896034029 420835984 543371817 340688805 464264219 144578314 113418214 924620898 970137202 530206590 531844277 819804583 421379527 728174031 692214584 518452476 442525245 809844280 564570085 359434840 484116876 290897555 611250906 729512882 241542531 559269610 787346705 595082515 317874399 414910429 921358909 892396921 677811503 515603201 396953402 892750365 108777179 812362444 225835565 124060449 522260505 490117855 500380422 951995430 763053297 596559251 811640604 155764315 383526499 174069328 675308256 657597715 819138953 110111097 436048328 668137927 640202936 706937352 327724884 615214628 598299242 898208025 590859134 178614854 653276892 430861882 728992631 854929211 352220225 272667318 319766971 947733978 414951986 681811457 832082675 686534051 516636741 860325278 534771296 565480739 662154673 741994873 344427678 705406606 444799656 661692499 913797214 145424865 676119222 802151692 577069862 955027883 779269976 326264695 756701439 895616337 608192784 322654437 606666597 169160169 367464812 221307215 752611618 921016267 125659750 502700406 798925023 827276992 663296307 608269000 328544082 507263453 156840791 179620833 280426913 598489434 805103451 615411946 290029692 327489732 986725914 540098985 299881933 332098796 555333572 122335928 203788416 622156452 805127914 711766971 847664004 991253645 943226761 985850386 722845848 765385153 809545915 481295019 258899430 671961977 855016730 310751574 185525995 995419000 153779340 348907225 234558276 357073050 524402058 204196087 223038430 981477665 939055293 605117057 127274011 374965946 394588883 369712056 337118816 377378321 384398087 961127900 813023166 440854309 721004308 474423593 584441768 161671812 874405447 743605527 168225625 400843496 562952104 281539985 909583123 900449116 854189246 944225039 413532052 260956027 402486991 353767122 938292300 600692029 216663183 485707829 784669100 757593619 947641936 438819918 258202597 840677736 817908887 226670898 464544027 783095118 977113530 487960178 377506216 852067368 942441137 704932675 717574767 273312634 619793562 100741893 671101914 429519575 678595892 374226461 173444831 328547804 378956612 490247711 275039353 986760261 714915806 541553934 551093599 692201656 540036078 238914218 131313037 164786090 597276664 811848174 189446435 434841012 209227244 427118901 834590177 382416612 835974087 878532851 574824878 477374065 727509266 592947878 515167146 212463527 693496706 311115696 248784417 980934666 662057726 903072800 286565264 247221759 103101414 497574775 465918213 886614459 968486830 581134382 604846757 122799410 580737179 965788632 793737353 256757745 238613330 148346491 986890435 246863968 653213744 366959794 665575324 359216643 260553486 223800179 194651548 317928193 456730567 701235534 111855427 499962329 329484154 389026051 192932073 876967502 158077464 236555588 812965402 629303602 742536051 667148379 362827109 894895181 946763864 292821549 691667599 903746903 407465284 191753048 849225600 574338527 800088495 458386117 637136144 167630256 892534875 454451306 936929537 784744639 796471331 892206486 656040933 316362395 811098229 402808062 726979896 683269671 176781393 661383226 993922691 770797322 970272485 330454730 463740012 965339061 136669982 315755185 163842670 933315412 467621796 343310363 964598070 273926240 779911265 216365620 162726170 188636560 745645133 650199038 666552018 804702245 443777306 480743165 297867415 845703257 461013014 209935652 332432110 552948860 785440480 299741483 465531716 744777814 105467526 747058530 298173107 546054695 804396752 892810841 541574719 764496588 680175505 684482176 903963408 760613055 369500914 812586331 877921138 833720312 942840228 964415054 295921113 671017460 937950880 207596321 199425006 190511603 662068651 671435973 371492125 545206612 937011934 758559665 332029312 232014904 119300699 543922165 400209867 936777449 811443436 477348658 284021136 469220156 829428177 167619261 580900826 456366294 523120241 927523963 517802567 701525004 994875712 261452338 157304148 740151705 851400257 924396991 454131763 153714812 977334851 742489069 236566802 237836055 718813358 553522046 951314575 708627755 961490496 891367244 385664146 570755899 940977606 838731328 703247092 231959536 452346309 691102635 125393298 360069116 550875571 411811818 682122232 516161376 956794410 819224745 242732394 126400231 960396869 277330547 235520005 681473017 699155385 828405637 252004777 130568751 122798448 932117636 595192847 489438799 806407408 160372499 260719769 465189557 769879897 792579869 274314889 876779716 849761796 174012400 826837561 513023527 138678100 163310094 161936730 597389078 740474678 571895831 926299040 814486009 941320256 687177630 825639947 842495603 906132184 672101101 888951240 742438150 442395806 137652363 282707178 595640047 193248210 451828695 429996270 502186756 489089527 335909735 492067285 164591171 939888004 677014229 244632572 876195737 372287264 372551930 647034473 254733868 663807201 311255870 400604615 471624388 789087529 901966212 518901057 495310586 114824847 734411187 888741617 182929325 326860782 284626773 701600537 725311422 157876595 443699054 220635998 711022639 243075116 696890687 354151939 974454486 407503918 971169771 648435008 587931954 908424893 455244570 282040270 545702501 610915306 875153958 746350198 477116477 405234202 637477088 126792043 511395587 482101181 803697690 464237611 926080253 938955690 482037661 387013706 545048047 857450432 332717266 714430342 301801816 704060108 205561263 362372877 151610239 710973287 263129609 812546519 609106128 499267473 717120015 124241469 913614909 878577242 846596820 382678401 812758441 132267503 342715884 409640276 353615693 866929558 215699477 555417995 149533932 421744746 642881655 864280895 165161889 842972961 205608394 186278723 438377173 351029017 912566672 825818347 264346316 132531823 423233117 134037541 156775263 259630663 772441124 890730195 213344650 443856891 436322500 562755846 574582234 411478888 236488898 214703999 961470449 837734731 899192948 377910382 753108319 643831187 481467583 858173283 156921483 569548166 119845990 870341225 587936379 901313504 827775650 859934084 373361196 153208747 882783342 721276129 441163106 108937360 344530116 215880074 718505945 170192315 749702060 209841751 448893014 661111841 601214636 180767361 843804117 950114048 490782892 528659198 904882003 810343523 539220745 193154766 524999061 463173028 743950519 276465391 213325292 338822641 873044765 635771281 928964980 401534595 183103423 710948689 710960269 997314822 918400571 755095471 168051189 837042992 764352610 827519642 688431505 279917653 431144449 125833476 708620813 282111318 508857845 441391522 752453239 624096497 180415881 500247829 962693747 402276539 916114784 224563211 751251337 719262887 816628281 844557115 411726333 883096315 460745218 499228166 940707061 115742464 635427494 545320062 705754589 608371714 901622836 402815167 615853148 366410618 760200483 109878399 767861038 501041894 589337505 815968704 753002291 200407498 804462713 278130674 555023838 274795939 638382257 127665695 177918826 380193738 792991696 508160950 900203497 778469110 505131228 764930563 924940799 645455798 228603000 392961709 654251409 853805802 213922040 408740074 930535614 101090420 805612498 231085077 538123621 175881177 169666070 536999224 215671923 327908119 342365145 312446201 592862605 925689330 379840639 465458455 188756880 371383815 112362837 275861972 102351532 475149211 618150791 482929966 725621744 239377867 609795987 598346356 699089748 120572320 601195276 267076299 331462550 592063430 633739288 578881300 609764410 310063299 712592887 955895081 702536559 345377087 409340535 227559956 238800751 636420938 537472592 320839348 893901594 887375039 972480836 298760699 219700526 261179243 517922112 234495128 829848897 120747207 475537795 156363336 679868769 514325559 897803497 754750093 194937911 811521820 790885577 985982352 703050056 366590079 387788097 538201004 103080387 380420140 441191166 310552414 481992787 232140001 840928692 778268198 235530594 707554726 766944658 742847304 125304396 834572484 625552849 897020863 824450320 683577059 592003696 836827457 170360831 154881059 714611124 547687833 674584351 499900633 191631949 604314306 140388059 344644169 725891598 109596159 984490034 973598185 197322656 641643535 836593420 423282043 911000472 154466005 165115741 863544463 426808931 459106648 267831365 948190530 274661089 721890171 592059251 478840217 308109451 971927533 961961988 887965579 858816966 226364423 698462153 233755715 105837268 198942363 583075958 497763954 618358167 469474295 825422097 941167649 232793291 182507193 589193532 929747243 124104280 320448317 790604536 159545635 187845090 240777916 570092499 884565337 492376986 874505293 174436449 244021433 438214604 736893248 268151930 218918927 413271599 959992838 686920273 118652798 330667924 697206592 572132553 477406432 588505908 774552095 415420360 407372702 694298875 129204257 719388265 501123696 568054670 184929202 397487294 891679406 687945880 387323875 648956533 783400570 675114681 190117646 505776113 945110954 631027730 518936871 680502756 517831830 973684607 818307785 969818665 146630621 678802811 861316864 693341998 978762837 603804477 278061759 134526086 530277761 714353741 951272995 278611802 690987584 878253358 542720723 653716039 869058469 453414273 889509078 839867683 247415621 641655877 669667559 207427046 687129153 151484004 164171054 845220854 319498699 107084881 175437196 820680008 408018289 492725090 120112281 640216708 293561207 603109045 297435506 521673246 629054433 244882252 317497752 487820101 224322176 177161932 763142192 776514944 752531642 677340209 897675597 205591987 390327192 124468773 937892402 466565009 120541710 648547386 831003536 840389569 719315810 355278816 421381115 714622599 733074031 270434328 814114890 398346556 616723407 517910878 882591340 355401887 207158998 432372047 953650308 681822950 975326181 627545170 276403116 511309957 699816093 665178947 548706914 780040229 846999788 382834755 746953548 405301446 491641647 914579663 735575030 385184515 254583131 202173460 817412829 133418890 494840211 532542520 834976832 408810677 408506878 330493788 554901194 713013665 503580340 577077969 236061437 110474884 592991683 806867923 641155390 642730558 496831535 125570902 914100763 238232501 572580113 482522511 468293568 730262657 372603519 976404822 409737755 757350484 575211529 347864178 426862871 132767567 507765899 313483490 526442242 985477434 892997604 797562395 202641106 326847903 436973985 352366627 616788334 659745057 115344017 756608792 449804510 248026432 943543020 854701775 579260955 835537321 103046712 705084571 892333543 285497328 227035643 521350497 635701671 816788641 429707906 547241462 617538042 555838110 838725946 256050666 943897804 494240578 526863961 735939800 574216078 203103398 197620593 453406016 241246659 821886175 258965024 772580870 655728043 671915055 293082357 563454411 910597992 136548796 920218473 699990204 543215615 808191479 129519979 477421190 311323902 872634291 827296885 977843316 175406428 733870474 704440983 856962694 182077576 659150734 200127873 438785460 641036317 913415499 676012984 921991677 216394135 229701144 338991858 189923268 790276279 682752883 454590395 527742530 292181534 237603590 946806986 443145968 515353276 199428635 473426873 202586236 720432834 855691271 532114634 766495294 137562080 290103130 584874191 259400355 171843369 704421747 306919516 190386050 213250620 974896135 753711559 674279759 401619671 998793939 770007712 284213506 438039586 466033871 873425830 587367690 177293998 519341745 970337660 731667970 185796236 653161845 626132794 985433259 683046839 356039682 619848948 332348745 628518044 869366435 703552324 736600298 793140838 747742234 712876242 154832105 496764177 859186712 911351598 768629365 720319970 195962140 346028865 566175060 835198136 361909729 398429128 361051998 426285586 954851743 905628150 939271060 833781232 980055454 498430143 268205193 603888659 340038438 192889636 521208584 527574270 566824816 701427033 145987010 598522792 973680744 296427265 706732733 610174514 271295584 514815376 272117383 204668555 242666043 514231018 704544601 556101857 206360500 291125030 187934426 739521568 346783804 717983227 387456937 593331121 927594256 744734594 258721721 547140931 680622091 462957869 388206456 250477084 674669120 833119750 872055988 443204274 810796110 329810812 279181695 193740400 391601714 354737763 560954771 439012647 743885752 276369221 618401861 986384558 345452636 776685788 284866042 553728459 528084564 748443405 770258207 624058003 630613346 187128459 285890741 891096345 821122287 586736806 240614544 131158990 319721651 765220318 273993101 113967973 757271061 695123210 973138733 535557486 752037121 198076119 922956581 368166039 445470185 739142527 151566517 700581531 257958129 401282054 743715020 277318987 154542216 253979292 927327839 762559754 267838790 169447932 782636103 876923898 998630525 650878622 301867797 163064412 594681002 636377696 635070375 815781659 574323259 207975380 431761743 250358386 832247776 326889661 216970334 812887917 836306101 618368448 966552078 700840436 766858070 382220398 242918588 185158880 866362590 332013979 771437744 471091461 713243196 322413849 794912142 455631321 360147546 855684030 250170743 355698520 899934071 589823977 457560578 167852312 806079966 900591167 185465956 912245558 907957487 247646836 707919995 852285960 476097595 705648286 105344534 675511139 131316635 645512756 990531322 695732892 185397603 958716042 115824962 964624141 282870371 868494907 182761400 239109530 930137409 670639293 167771006 409280572 595757448 809404618 437745443 344400805 506638649 261387678 611884229 485021026 401762352 481955795 715243703 676802311 974749264 179475656 252334273 809938536 150496916 608964720 288481854 492699148 833705153 553379325 455570137 390061820 426103164 427748986 531706848 463772560 282485564 725506133 992762880 596905178 497632507 360965310 703469610 153339709 467728876 685876513 285609517 548783485 897368755 585587785 347310998 216359947 453096468 999443050 397472413 288068573 946572553 402368666 412850986 953207989 228399884 229912715 754609969 643262279 932952683 497073937 394520160 988520419 305298415 186715818 855540905 346506544 909795846 198213398 490251907 825895164 266729483 176708663 326510369 124399592 652404335 686403355 852515596 554289543 952834154 766951207 467005607 155569016 530560078 489274324 259100628 163597881 608000303 303859281 367826254 638161274 252490529 406448049 461903376 342078335 954309947 259350208 866658140 634287711 898145356 922656191 270774733 901797294 900089405 215532301 717653129 779521345 257224127 852699264 164107416 588327111 751603334 248132031 765675833 752080612 771811826 131750055 220073711 858228571 587744114 512110398 471495991 750159384 971798503 902864142 571306411 456216007 181249767 169771109 198646168 110122440 747751650 396872766 905382901 602324047 665093910 867244671 739345023 326790756 461716601 550062964 194024206 263191804 885263521 413978241 217969489 127042618 676191884 884711677 234676457 153406465 653361392 933498489 763625557 432918300 389455854 802263559 712488276 938322452 376735429 505906772 428506933 357612228 459824601 642812602 734720040 493359936 133197699 736025508 984301853 932889099 538316772 794271982 795099894 610627001 118787895 802424884 263398799 837818090 807520103 210983400 107719341 551238738 121073234 922029885 303739999 615250731 598795463 432382866 390214484 268570564 527733655 281329792 165276017 363302672 550312176 756591903 658566961 442516014 582190287 250561166 412647632 163659973 624736098 422043965 807600970 988590202 359672880 908878134 569832847 799645291 258813981 841977085 260223384 388030099 228610412 798483876 500020456 997336968 967903704 277376947 682146208 355392999 172895760 874717890 758011749 120554960 787577529 114579456 284286748 177981640 788556864 197192687 649606483 701322608 552472865 774581215 558664665 176349134 821046081 230022703 184587661 754292960 861289576 776829327 953844933 455890041 945611167 901398717 582044202 660811552 651216136 724872682 134111621 540057115 552608489 187796035 349724580 292105512 878177899 466061276 865329390 400278017 290943003 786211649 971524242 610075166 217460141 173004038 321655262 324840140 309086591 724226449 882259990 376197254 816067951 593856689 570651968 120107642 244536462 597321614 917015261 333204203 202091312 629619808 498967292 914534213 625170828 764217498 657448139 298911404 741350064 263386933 593868185 539530557 379483665 704313344 742342124 745243475 976002226 237473636 216328499 429355251 479198873 280062434 624779727 231877310 747367399 107053436 785642408 633071074 754782767 582947548 873165271 732529211 446001532 331451417 457481957 380331208 827359155 234686039 845573207 459026361 492932497 900000636 668020731 880042366 790289875 423155149 897240652 280856235 189433333 538287649 523619749 950430555 693963033 504254763 325068048 196863848 841997115 848453585 706940353 959330136 656105828 549625986 477071485 472813758 471396420 360022214 509902683 118687810 578537787 340520272 798131537 353937666 857357981 631625211 292173057 538523162 177678752 829400678 565217750 300564269 904229689 290942558 690491723 546199541 257975315 100714949 247800402 539552040 614893026 394082976 668517284 205439615 212253214 327762226 807702790 937304176 215713613 899687405 662712751 605593718 257147978 507492206 915015198 966339088 533401149 357309373 325272341 224617954 759059342 860719885 123262653 622937540 490809773 866518672 910596755 358401914 497508606 309541073 204086622 903250546 877704656 161768858 267633791 298901725 993004950 332296340 101409756 218973313 103914404 732224431 152394919 990948140 551736862 561981208 626522903 142538144 799558997 632547138 859817648 494421315 116255823 278472572 503010150 178012503 521268736 330933842 891141034 367622283 135686645 429968124 986359813 736531331 703604717 387867942 780822953 262577602 270576251 102897534 225014109 415382162 625155247 784236053 496511456 617407150 436997557 167582745 472103544 575972302 588760784 644466652 351501706 767191571 714780901 412670843 681346009 293430528 964086821 980940881 791284360 522315161 466286110 942268173 525826645 404371882 638415836 649890120 431600381 179257850 724658674 738551954 703307294 810274614 275629866 211757772 741904708 827838101 943825883 953328612 220760960 170441964 673545644 107850634 397098588 485000856 732700253 804017468 890614035 282253224 920776381 882555557 531643738 173885396 725080669 199678744 517640232 275488835 447666997 896729586 977354410 973107603 317112619 593942557 266150667 906422563 305770754 459305721 607989909 829156578 958245813 113065849 267173783 309631612 488067715 705921974 533460336 409767362 229129932 323255895 306843810 499630841 665058960 824906653 651720895 753762056 735725002 812696344 472591483 208621428 677321122 653812746 759580332 529247460 944680549 629207112 398859432 364204482 132446132 938248816 643918105 460999045 371684753 766250926 209937180 294353525 842366942 220390564 290967338 468910328 273450223 436515435 196012435 891082159 541628325 590861061 193793439 724402714 870584554 751895968 205428991 577893226 484530827 351427982 896629028 445728534 513607428 899284511 741630757 161991751 888915961 216501791 238119897 475860485 557767320 747989464 954993603 934200603 141619681 678474177 701487298 803158271 286738132 974638957 179386919 784042449 591332483 318184749 942112911 726897314 167249021 764798568 574905590 177325055 757655441 918228752 363411210 613577947 842475747 607979232 638725149 237382253 627312887 758115591 539413675 902706904 916831665 900852393 276021883 513084980 784961986 621727064 110316759 163356785 763570856 859369464 689501939 974925139 872822063 463233784 105271400 803256109 810219175 429367054 255098749 750403713 151700070 944442907 701145545 191659226 569300410 160876149 822823889 948412433 219751065 248648247 397571348 978265780 923253236 183566622 490803080 586272967 788947190 340617722 974047231 986993131 267338171 396361442 456081955 109778622 957885488 634197234 625929590 877385748 666824947 796962515 586248783 316349744 448289516 517638322 907954036 518914912 182281815 719332929 334363547 172151538 767042381 389012001 630169842 705256463 126146633 264311086 707614520 956437961 703468162 379412196 866747759 764358887 984619834 105574410 332449460 993856452 117796330 293946802 310101769 602191358 299557402 164768495 983309059 518292473 319302739 466150779 694730251 875608722 647480470 228680181 693450317 540301240 389712404 281308749 135238773 192166647 163738590 665085272 173677578 288924866 696433136 389779601 882414877 776292766 392956745 729033004 809464648 608328828 827610840 989350082 816680975 909907490 905816972 488102076 994571431 454543050 685743707 913455894 936576105 169202053 155394431 156290016 622325881 273467734 891727021 168797266 199576170 521198788 562168474 770552283 742131446 734998748 832081309 934849701 935019402 865448040 146250327 396521538 434523268 795792316 258274238 753017126 972451611 940970724 515174732 950183128 712494643 265928082 112021006 391750160 174413349 461569752 221192188 484475172 577369478 540821831 881776698 656231381 735456627 665538058 656795332 159964267 173939354 722394598 304505858 871911621 836895901 456936375 478211542 889152782 805714864 437069068 666645847 572149139 285575573 792449255 756185544 818636699 156767064 693428791 849648508 917279434 923404179 780766386 526983619 790820086 927749287 502058793 573057792 714947633 289296424 918938448 120468417 443923538 248299983 411893588 625685565 678979943 259630889 405534784 686934539 109646337 692023179 641776681 379019862 710765277 846709303 418997437 227382712 529534668 933982292 606225198 573033829 494580787 912923023 282367914 876686446 551594336 749817848 476397612 277392431 359388973 676460327 598296869 197277333 661805278 450181792 819970451 852772555 738596484 266709029 913674430 637619446 224663515 305352716 716963361 636582342 251109610 713019889 260705647 627614992 159445160 595089441 154651975 566572017 827865687 555441718 872129097 440298037 721634825 353435514 221393820 566649507 975077776 870522099 195271445 848198874 865813887 907477367 459545369 125347948 974910699 504669631 839488979 704506662 392823192 164166786 779011165 402615620 520084905 310405187 425126545 660313978 514157500 719129227 532745361 420898579 946218403 951998579 861466733 826138180 980398567 582224303 291801293 190503571 283494724 910153241 592850673 787601686 279623911 198363806 521920800 205529537 608388278 757463085 500431514 389424004 624413000 320147629 807899288 654829064 645031475 786587442 723610967 696504535 242894654 298225487 542466985 152180267 800607294 751045577 422691007 143350362 948697851 746825415 647478249 297566730 578215883 968280109 271228443 796319179 194879504 889936974 593096053 203959449 918880814 869704973 202656273 219629182 290100078 655960360 674654313 480918687 642554324 312130844 706415792 297202180 907733083 945659078 148086722 963443923 734826492 950409231 993335918 387762767 979321183 871650021 865752112 799644480 270386983 851185418 290247308 800416704 393780661 856463025 846972085 972616608 797579886 579798591 978384634 945777222 241860494 899093155 832045017 896887164 247935890 466862754 891352100 214828446 345487239 359625492 889630544 623578153 598431035 846000311 804226222 929902502 413303871 820449049 992341697 752157030 682221142 461430101 503060731 323423062 238172284 721465975 340332688 533182073 915945159 421434222 701291784 935079626 895700725 317719835 770649487 368969551 314056045 904459742 894586560 859799574 546369113 810729034 470214137 336826239 725366284 611365702 101283677 377649271 772450336 442238249 914940305 165313544 493675705 153616656 238925748 866577594 576682901 854323866 870748270 652752525 620674653 498597337 179681396 178610982 289816883 518239373 773971562 731925869 815990692 169513953 113923152 655023479 416698457 770062584 405168610 837612176 840767282 688283796 309271846 156085551 929976588 355780579 850990888 935686275 936299365 429031781 254471868 159581776 348884414 502640319 878590594 752424176 699501494 744805345 669217281 935620942 906851648 793466413 250447470 630748258 992571110 331850842 398009499 838166305 386655516 205664120 613204265 142280420 112423778 784446334 772907436 230991658 338710383 809883168 178629787 191510690 566275106 390683487 142859831 964906796 678912088 329928097 775843373 762526008 488607286 445787863 850551030 594720718 114577669 844984918 970709631 574631411 308720046 844306096 354432723 818050741 212050366 804361221 753192686 621790250 533142279 709420244 394715333 993002393 278050070 748851930 381024256 980445138 630349267 501090760 351722908 268357924 270285116 221991381 517848704 930754804 805046633 129368609 304447031 667419088 598291980 803420632 103899765 452690461 737344784 415825133 506482676 253338422 929847194 900003224 509848917 733674077 884654165 633270365 286931596 853560885 524427253 886783584 244365424 700122246 344732912 409025778 231861099 275317522 953406504 940533195 433741677 637119278 799150108 867189110 321607220 123319622 968127175 796537997 929697099 872384400 153072037 850212270 652822077 693004408 686998539 908923961 664262615 592830447 172682518 972022649 133418961 910047475 440151332 253615676 287933422 383630392 550516590 732117713 731498783 550533436 903268982 387275153 197747917 297446658 626484223 817295362 130877691 398028578 345702545 737315514 621173030 324180637 106353804 237082853 526205960 929030297 594068219 677102194 117186863 505760548 466789768 845183823 464455188 544111234 700811356 327532906 438406702 499419958 739866933 147163430 469837690 670924353 347796292 644368121 592568961 985260897 876193917 254954733 142822513 982608863 123009535 380874174 813004855 755933620 562945526 249525037 640331874 461316023 324595551 645094364 728924186 513919468 667641607 118565228 500795926 644159495 440727533 876433330 197057483 115828244 223884512 797168605 691357655 230111810 935948250 908343147 522565487 364382428 456957578 742783846 451941071 112083316 490527102 717136636 523865879 799942747 377285708 993964521 207095112 189154747 452417588 689436087 601527967 856946401 584461293 839293974 882719788 104792441 314855824 414295676 542876916 506467323 579657512 971144108 289768733 419143608 208832203 247898430 709716631 925178275 705924941 575837880 344940861 475845247 252292693 394804887 970005569 594725705 329596399 542705877 234968552 332330163 306143230 496814598 529579604 660207218 673200378 371702698 863315234 418370150 312042344 147328855 284600338 177895970 995710556 244896180 974755057 785659378 607343550 100243619 619523657 324472710 644403793 652187349 606884480 363522353 190870587 300123857 662027236 165058497 738421407 980665955 642050900 314804171 474977163 545803971 151744787 889161814 982971028 839274799 956553416 993375456 653780930 162536382 861454764 563739550 586484442 589916013 622193560 978182478 176649416 326231751 247729577 261332793 353946590 879225632 393407726 738157445 861466309 873448686 430911287 955815051 249677891 415129335 159828639 478503278 739232977 537223089 198796131 312469364 400452019 183042710 513476087 355697013 452035694 176520907 611906275 923368249 636959248 892038232 749483356 374640420 253626276 457856359 983829472 435629975 547861529 414775730 517838824 704204056 401839946 531822809 494147763 559302470 787554888 801103722 884207760 532880382 928485048 970111919 396044927 650497241 240135543 648101274 300536755 132112603 283938113 652764987 675610072 661906734 604790454 101041037 183617102 107728488 618638870 667278981 141505094 783491900 913173268 574600359 641269171 463608189 300153961 423528711 663906945 510695704 998996752 946015256 428122888 549296568 126469219 604563924 752351681 754350123 507661476 219120672 245143446 217823125 466708556 775249769 219795856 459180704 947079407 608217298 845750072 487194894 782251579 478747910 368731622 919563323 481407758 879267648 923241038 704383654 662147660 314234492 619030331 418925620 163514292 606070201 321793035 805200782 478458704 941631986 868416293 665270050 863376108 134401018 443469877 457657720 611773646 156396572 520360809 396338648 457012170 512275371 634818533 611209336 372585711 561586683 565015491 255458436 454629124 385344871 369555798 522567914 406903058 996178180 957769387 784522689 260553564 221872761 568085252 788549613 729913826 893948037 594766625 892839810 187567781 765953440 271495495 924022577 535742479 722751840 890632655 108759374 874706136 768992139 859780885 159654466 517823895 549523224 755823292 459021268 601836925 270247632 395781561 776671534 632916290 415024856 665470039 655319202 794754533 200514355 501583481 365249151 975322152 639540230 774174574 756530349 368086092 502155857 140488711 219062612 448273041 882594993 549920053 386407167 622745808 756288105 682525480 612805349 646764127 288311902 966005133 225482774 238084635 852542447 968826136 912011711 679737580 731378912 572793039 756359227 321533666 222475078 298308438 511116001 487132217 538295324 412464563 918637216 116730340 475506130 527074705 903386266 340539914 605388114 401599174 118153794 885209147 481717396 515609023 985331483 208077654 527144605 516355216 199590924 799543520 174140901 409603263 399614702 185080298 647291773 297786014 944398269 367282456 800450801 312277947 564193575 190582923 117174667 591360120 251340914 629327506 171643935 442991060 445899231 527734254 262318900 935789977 764215603 543175919 133170970 294634421 869413576 593371541 377163943 139674553 988553984 361779712 600022517 362523648 936112043 348838616 924658474 945191224 747906072 957981879 469255136 154204841 180352127 821730451 336599409 875446538 108425115 807979133 247011064 864429340 903305235 458111216 523126664 624819113 989683876 421656427 683988937 621732449 661335177 356097150 313665978 771473111 515569414 622605324 175991588 165210418 376884038 770791960 307895232 705501429 604888763 978659001 700355744 644357981 964271654 678594013 868732408 597476222 579195110 430002160 156102778 147157156 725748459 210921800 226913599 873568264 443097705 123099012 244112652 700332952 906600292 140371651 815685145 370338999 220046713 826114454 919160362 383864257 604933999 160742771 728063628 608901210 254044471 640683720 547684474 881544140 958790986 937718543 499918134 347478719 830249679 472930331 133073419 752306937 703740379 773640001 595648296 677429887 423723412 620860348 821382562 129422494 209426048 618537442 647240420 900853395 338578044 574627488 273705021 494246847 633763426 998729482 583186158 541798644 868755314 270695397 421463101 103756249 620835673 123173081 687254353 277847488 906794265 936159787 654665615 972012303 281212582 283709126 898741742 126435964 259778009 547346503 803712274 294501083 833668997 799403924 274411730 963298909 552833147 578339549 838201844 994160643 894897175 329240414 938163435 584465938 976859880 797304190 124297464 933094809 242964174 512222335 787774958 482733919 745696488 936480458 786138042 505972817 373727249 649960270 589059356 877962471 511286995 620434003 522287762 279315626 222832081 185588357 555548470 755617955 444640185 888498690 259366665 746825676 744965629 845487244 239215638 688789340 783853567 413651584 573052090 901913396 336606646 598189280 807234429 974140408 562427427 193666980 798451355 749860549 958644623 756751977 958157807 551618428 853789411 459950415 371724917 140515969 387372716 133331917 642798887 252721967 156224265 492897110 416751679 596113844 334301589 981241210 811045196 605118118 568977421 810231837 275654890 302046555 576119651 711152785 424706853 415848439 466871653 842310761 344841096 350551431 594159216 401312571 646784100 453801992 506009775 841913980 160548302 756995003 958458822 904358939 778177037 177035287 408058479 776114253 470741641 409099983 388033172 261080171 377513498 873910039 740615571 415320818 161934144 883790921 765025453 110324868 794451985 572868232 640552492 656569500 162079780 870947671 302056886 679228887 599286670 760622729 520497216 804599376 772336612 552593589 752768378 116830114 375687570 588972868 751414680 676226247 301130550 818837395 173854980 517737776 929710395 487083075 814531431 922836805 853389632 867149619 965218522 601671833 999507958 301929167 700490951 667381366 536634973 557552714 784472852 398149574 791113957 693610508 527598086 439630328 911994444 624107279 810797934 769283686 585195581 759861842 381908056 605613060 389243757 410723391 745613845 173372477 615232107 988623239 704144695 212189593 155669303 395070119 799358999 862765965 812569443 708240332 285393334 886865122 719826952 639042720 412030876 233481846 281423629 157692809 660220986 787531067 887477484 454751550 790279024 459391533 183136912 739910706 230031386 550584641 923142418 921460342 152067897 872840563 400868601 138214472 420899218 862523070 543465978 169125956 942849388 845380602 733656515 505058469 508242197 584446899 707981843 721759589 798338765 162575020 682744187 476569882 993126075 763321663 675746220 733582998 200656527 335064761 592950357 677250995 113481373 117423667 311189030 487814580 359238413 467243361 269192412 749829969 155200838 636609130 827004741 638432429 473046930 493308278 223828407 576207456 180844268 411986558 630424890 697522125 657581892 654166328 700764255 293085406 880510029 103643757 757994191 220915685 357346481 694182021 674585408 721207488 285053558 521596877 158535545 307970799 933933283 446474040 104131363 497624579 197741810 708232145 380000453 334502589 491186637 586420017 627028026 368220197 893585798 642774148 150213315 806267786 209187523 819241970 765311905 928662137 541415454 958983669 945367465 491802809 208804043 120247567 450792890 607590818 454700337 778266466 623705086 469810726 328115373 518835170 639508499 878586606 298306940 303022073 226680251 114042852 763429605 765140199 530860604 617180247 162012674 805519118 223036401 844966914 440101650 692318871 262733551 937929283 498042077 635039178 443186580 199452196 462962743 310736448 110627774 879443487 946011390 994677394 230004240 825786253 201584604 975405788 592286863 200954405 505748962 228216610 278603916 365192117 624135112 973680132 404738898 568404923 572936206 872570802 642516502 989177093 185392826 414879668 530441765 914278263 969741676 693428667 705382377 814500990 913476714 210474362 985241170 978091419 497691977 578898261 693388434 872727755 359427914 187888438 275431578 603053704 607766897 120428366 930271893 175830317 349106042 160829277 197891657 143620669 696510508 909831484 760748807 419810019 338999370 572839988 313731472 623156689 532662666 449243423 647143666 943862998 947509010 510889665 412324020 980988954 984365510 749961765 164896201 858914327 501488897 468669768 566832480 980495969 995318743 670024908 152131174 562326064 382921451 277168208 128284799 761749231 348539472 770735822 361897250 703598464 859147338 917213249 308376661 830132643 649700223 257861205 662544711 672658407 453843857 342305835 300254298 429201919 825085410 751710345 725563783 711177327 677570921 919066709 363253590 850758986 651247022 129737329 655538183 600238554 776880976 986651482 981732946 515799029 775112425 625306843 839718090 197354625 266654620 540736534 512386448 182237552 700770345 504711327 943428159 977302189 275243114 379428744 857616508 146224852 887415535 102472072 174979506 559823257 296295691 995622334 836435817 513336015 385598285 846351199 889694296 480983270 804692591 947896747 986548193 656842992 491648910 763375062 732374043 437776277 242284359 307775096 558186956 514697073 178634077 259514287 889998968 341821376 670715758 642501980 967863187 292251635 625833511 808080576 968837736 204796422 882584564 542428196 701418318 996463718 583538095 456594688 194165620 506102368 478761650 300254679 568460339 695724070 829129410 222908243 339116467 814683143 546282938 828293202 343797662 236580446 316417056 978489954 489795067 811277198 909859524 802067888 982779729 435697489 338892772 334059442 752859683 511231278 943877757 203163456 624969141 669976078 964731007 268807200 178342717 203596654 981326183 952032150 920959180 957939877 527020022 108678047 315187230 630177896 834761167 215676686 830510548 333601731 184636299 816711503 536068508 579366003 718408252 370783709 164948779 770239797 490150078 242702623 666598307 550002656 443916341 489471904 776430780 100994689 753764074 447182695 443037883 849737194 691260235 774726221 186204007 958982107 688842366 123344304 918724576 472331430 585090711 486216759 474892161 794102896 974528432 205499463 371078271 969005793 446207424 245789260 123477580 439044866 569257191 262881156 618069682 464184928 751108819 163531063 438905327 254339573 152247270 836077670 265703817 268719772 389973563 479979339 169557208 388691197 894026540 717143643 689364307 869239093 656753928 297627439 430669765 424674983 760573747 182251468 780034111 550959116 150368151 321856475 999101716 883629024 988827925 634533958 451503206 115083831 147990960 465718661 132558803 574208729 547641930 853970500 948397012 149848064 910346668 842906517 941450331 612585009 621006578 531317373 897523335 101110890 783512185 441118966 418340038 673763519 929944543 552666110 645280502 638692009 687680023 112046851 629382476 825822860 992825047 779200779 136721702 218427317 924160528 383286156 614538336 973697814 177251979 617741989 261532182 745608703 403471877 415482042 178982583 613574137 760176476 551729750 723727101 898895863 312500840 731068056 342979069 162836691 499285909 745431460 311524130 502413071 759781618 512013804 737263924 353063839 478241468 544163598 112077481 888817992 538065051 491543946 489932879 325442045 962565322 858344934 184435270 446215089 470489406 346735316 355443290 795568786 102482919 616618016 322641844 610629027 260342880 887851610 345998423 889411039 771328455 294607193 907067073 723598673 100091752 970260972 407538235 182131069 501907758 916417227 361389339 952339809 349095157 482578003 163220037 793775234 378349829 198587737 593765512 567644482 534433208 596963285 541576666 516331218 146622370 512850009 264418549 638460682 479408291 444516464 470627195 173766644 809406578 509760639 616067847 879562018 909740297 487745583 234692199 183596515 413064477 813208141 705027008 251851901 283579329 778239676 150751310 231507457 538524385 148224251 237718006 236219794 148383391 122625253 158672747 750372070 492217611 734450184 954533907 770456003 590244054 269148532 336553424 953010468 394797427 790169171 190013948 937136950 815406241 534256871 443187038 478510539 933382126 615132351 515530436 373114023 864222206 196369477 770182395 387369443 724544307 657776398 886839140 212701365 563481917 149467927 439121607 796988653 262185011 461381417 504604268 165717861 561451743 197531820 708859469 143715401 968764728 823627981 460316626 645034244 954095694 133647547 479873057 907044425 712840291 780258387 659093379 840042386 708673279 963437489 352232197 232160775 949938993 645721625 799743132 883104023 398625213 704715453 887291511 583073541 953648557 723552622 837854724 719137194 526947332 904364760 673865981 498000118 579383429 832472744 560297730 871240400 587165473 399616816 328034191 818940649 781031245 232235554 103073491 599747703 155035554 634647044 735495245 268948784 286419160 768239383 640976689 706373009 853524350 744451195 217197781 704901938 818421429 210999366 469272237 429040013 698035902 813787536 562324004 112665062 210386766 478146335 152433724 556691653 259111841 468237075 380874382 759631218 147607233 598100577 740798399 866638225 712762186 260831862 199534087 591413865 979567299 985934013 120746275 412988271 855512290 110245075 709451314 909983697 375182888 688567979 381604706 967419371 922933960 689249359 302750433 749217618 700926010 832035636 554272175 844885542 489185057 804643749 976419195 992086751 713294974 542129116 354884475 886878046 205264107 784122422 618604320 481605262 606665688 199078496 943804756 656946861 171778345 355332802 706387574 935397373 391916077 549633301 976420912 735516108 884849095 428488772 785330677 793407239 485586001 288246932 416451739 994467526 451035187 658070507 558281747 184836172 710255210 269893348 573818561 798413998 977369026 224247692 555588375 824471908 728917864 150015196 998402679 268147625 638799114 505549682 958123972 502784148 495330387 112508688 754792882 287930711 577426142 977838234 539314589 674901219 250997889 474255503 654754431 195323818 693043008 862680657 984951896 229985645 830949854 240780100 705053055 979510102 111939785 713360117 828163649 320788394 870133705 539748672 869497066 807128130 660201033 325045279 826928558 295042192 301769618 686130544 945093665 989406621 547018152 567538150 974410617 347676895 290226557 841271993 411924420 428363740 236195296 408526224 978119061 326931789 178539530 561633604 842740446 709600185 660640172 186544325 420489447 261352080 417421247 337379980 959899806 803553779 872246011 503905307 690737527 355250230 953377281 219272580 528247830 730778026 552208710 813975194 114744082 228348348 162038380 121810391 937392358 847209319 804830548 764887858 522344887 337987258 736838108 663218943 313648336 691833073 822525165 500817754 914971874 715471762 616172461 676119761 465879788 969391013 514152747 793697462 840113529 853645883 992819230 558443128 829851392 148900200 223558703 478679983 855044686 919574791 874381842 134703643 356781906 550698082 215274571 976746853 184669717 484537061 537010928 281421709 760456667 404962844 818621231 929469513 303125048 419536658 348623380 299952351 734365993 820396955 517642847 384202170 462358567 938078883 173459700 968006209 190788749 141494229 290554712 410100828 979057771 102644001 469644557 323743350 162148377 758813716 609241236 682742951 195257486 294876910 552764942 567837348 160131508 926719753 949183180 503946356 198308229 539892655 474206313 417763186 816417936 840445414 733070827 976188238 596309280 123497936 199958052 510964199 765587875 264568821 104125967 983573651 244026712 319416486 478663875 552602531 347359370 682434342 949878460 558941589 765522292 258483857 206106050 498512033 736315475 726411047 372957761 338836695 918768466 803296980 535274369 305057931 834566227 186339012 496838540 207367617 476814913 826103251 747783984 840784012 300348153 329789229 867522377 878396747 260367050 702892382 874961922 976802927 719289965 623700484 494704389 929004476 133472266 362686159 166037422 443821457 427302372 867712160 226833883 574859632 208442282 612499208 270666104 177494486 120736010 371916626 661077996 294525913 992663952 270309205 453038295 905441935 168702216 170976578 559557719 557336137 336191975 821548983 367116512 197550362 204110174 268271867 921822208 537803692 382562390 859277522 555940851 147741686 503909204 945082010 979493771 324428703 252195435 432881467 796992743 784016599 431259579 541843537 738934098 860302872 443128360 586043904 517596214 204747096 873804263 487497398 798438443 802989780 269429556 465716328 764685629 794166619 147588998 222825702 574239459 953527702 780902579 150410984 184372685 237263384 168373315 767526424 189468116 363488097 533854410 127067208 897865000 392075302 893762162 299910181 781919527 319037873 788102983 300963119 833054055 445162279 470296828 789905878 695652002 941107392 474118765 406286618 248446648 974848311 188530598 970183166 338410786 890419977 326476600 256415724 661362914 718761646 314486914 176085159 503732223 330158004 814216366 923708766 709764123 280313642 137998903 720428946 674044665 556731523 558108232 503723441 528511894 348280194 973332664 315792174 380260214 656374933 536050550 758204457 742079765 331929242 962110208 184299161 102452827 527185698 821928529 177253632 885441238 688513285 295948560 694644560 749887050 649144771 976637533 204800899 991487281 429646543 720331622 325380110 281631253 183940370 556003753 375632164 145296208 844426068 265371327 735889234 832207878 131281453 542616667 803498408 734457811 702355303 937255619 564055413 717687471 533660022 418678590 427385346 702952343 971706031 904250842 973691184 526591292 420670231 472568708 493872960 967855570 443486762 973870899 693807786 221929368 714912773 861609002 869090624 349064699 941975315 164113660 489702531 809370643 818089091 630663536 774175842 134984367 167514967 722360780 869960453 637452147 366706254 432797013 232483218 731136663 536508611 568852130 496655809 308939195 867390382 782591184 832411288 211879853 964337704 938434438 942518670 145405526 460019054 763962568 135790767 335174075 370556976 726266523 203960499 168043687 418410484 538051289 545784476 988894656 787348093 775502886 489762975 614320935 872446819 565059395 695740788 624002882 227975189 899763246 211223961 987739824 484919768 286766386 591735016 935763993 608391263 161841967 463396045 744693392 401855512 270626058 150802264 908210941 789153162 105716632 590360285 727596247 839254920 215076115 242815737 548894332 736231103 875276421 564260693 223367839 228281528 324230947 489104150 472578213 527858720 821468262 406963567 769036442 122122400 774142157 870751868 908748539 311590661 210468999 918370937 321434347 672127553 371763688 367933478 710244927 293624639 908869562 790284790 900299465 926862472 436870704 938402076 251301771 594446429 874403257 992825957 376486874 844769152 157913511 217680066 592436260 300204812 553494654 564909581 109555631 474275486 494451455 638756448 329086198 721212100 891498287 288802375 718014070 510654728 469128109 193518917 284058898 470553541 518697689 398160859 902799826 303445039 240815850 152032594 390064552 213537716 491146431 395690752 377054148 199104798 798338326 310563066 231357688 271223870 629962215 583240533 588308611 961359494 959930907 433258091 531093874 616315161 429347690 713464742 713119452 223747048 302632848 705249193 270756942 157096895 838489250 601969339 657706986 897090846 693197640 499649513 905622179 768243830 548171520 164417303 438078098 996667751 917273516 895713247 463093358 757131802 595700214 198146809 102881749 341424781 704330410 617904720 451269692 233450360 518566785 118146600 277535646 936553294 886272204 787553543 610700708 619643477 992257273 864241254 737264301 854068167 590564362 199805194 104665835 999345540 888774557 808259217 740791218 727384203 357821798 159007723 654214936 628098305 678877923 561081464 979021368 523384391 984382281 202342883 377984403 844847022 173100326 371490682 829369272 528928809 586223326 202480378 726646011 903951320 180033945 745191548 601690146 103232554 583744339 315694041 731247961 902031045 289754134 338381146 157384110 894324327 935071251 463686579 830059461 970213474 180509673 984065816 428940771 631156654 755810343 499038547 871101467 304700558 404797294 892461032 875473558 569653833 985482469 297538580 834018358 457619044 132258937 592677608 621569919 185429545 604016988 343456879 929081861 473847428 243136599 627039871 395324814 410775569 977232191 775278422 102421355 618790943 558730189 586671946 271796192 202462922 739220713 529518908 358542223 828086584 463335177 544587929 500420609 317000271 901502508 726079414 881509691 773666138 572384672 412528749 186350505 264021983 835601002 995677084 815782639 997584582 228813918 697562904 879382290 851725071 550248934 723308851 808332596 462597008 333846662 898312105 201233518 970069155 208454502 688603574 696239715 933418041 240718283 159735723 211057907 270326341 221359171 988986370 950363277 933484520 137515580 455051416 103846931 663532423 817764932 403680019 370402402 555100764 745016566 399453417 914497197 273341988 879631568 427428572 468399867 909727713 317881036 312631610 917132211 446588589 306079454 845963078 134856993 496921998 312404584 853204822 821174097 336616946 488366581 542613985 769457504 197337213 919779477 924140438 585529507 208886808 868845017 111820822 796780056 504070749 915077284 355729500 326019178 468389558 752936018 697804145 176360710 568154320 686349338 122649526 336589672 696860468 930262743 816585312 690210632 474517060 568868925 647948410 463104714 589012384 935342123 341580750 676984134 928758471 789621838 445931587 479680050 375324845 583395118 817013651 165333238 599875953 409041111 113968610 128336582 721762103 602437222 157415947 495027326 246524587 569820488 922546282 113222073 206452023 254846432 958404408 920027015 256739052 115642475 842756053 768567827 551578205 766915516 707271977 467729194 494292133 914668659 817825109 683843428 313271793 365444235 375839394 992708796 375905392 662772758 596024508 520545608 638355870 529740880 681607526 419853453 482757135 634935326 466765337 363274275 943522900 338728791 744768022 396743535 180104114 441406954 891902268 868203498 708233056 426165907 789560993 239204214 249908281 360611703 389204543 486147833 444368940 886864675 316910539 450623953 147970000 820146353 325011236 662490406 527699223 692663613 414525124 262435067 314197574 561693011 896238111 541150799 696404646 116469733 234901815 537346489 963106122 681879896 835723473 529016396 156873399 218772007 341924104 974981808 626846027 689114801 221251903 953319018 908477073 589707080 286383810 211014059 732963895 901753678 530828742 348677381 829445794 394266349 429246761 983531610 429896523 688792206 333163500 945322860 939672125 630557485 450206897 854838875 157437174 815073273 536452094 743500452 355531172 333529077 873068939 205997089 914100522 924573206 995207730 660732596 768946655 781698919 952914644 364966607 384722132 921104646 227922833 124649020 588764987 584006889 175243740 421933123 603535920 443622242 618024461 311711979 713985528 287511296 372741851 624132980 301039369 216692737 199553813 106517409 949334104 225411668 155377015 133696035 611314979 914413246 598175535 463805624 742244974 844814782 559781931 282939671 295582996 870811342 356865488 450007054 582561360 889035809 343093541 765365467 599963771 259309408 467237205 459553914 944866554 319618130 865235167 862611362 586047438 878980395 726937994 509903076 305871728 801964718 390150307 240283581 500476029 498606196 915458009 701682799 302400591 646698717 773280138 513215698 773333157 597701108 894311914 990825296 107685064 664196209 612013390 306521847 246902230 934931807 818653808 157994705 138464271 338280850 207173911 560341582 905982077 473901267 468940073 923652362 767291815 399055384 731878178 309117465 809974232 242426708 541973894 974010152 446308348 506118854 909231608 222715334 674967047 376934319 603820550 276437535 162583082 536516394 188960707 178389667 696115913 111101409 124090964 735899922 894472868 416711479 240805432 757882674 451987486 429346719 512034719 117967256 207376601 471471135 761647999 902759224 698742525 367983198 217610380 508244591 609064955 354090086 547252792 253188704 337888759 766260397 345083893 666614780 119962647 750526305 507696338 924554463 343967163 754239392 445231745 277543898 844160033 572372567 287821426 932408054 303085511 434960274 406757744 761917680 187568868 322551467 466090274 179161047 574196637 540057881 737437426 124782782 655540606 181852877 377846280 107772505 676064780 182036941 980557190 610730831 799202790 467006930 309393844 551526237 790206684 501889878 981832208 774681497 577656597 142260056 591529487 385128510 995625614 114034556 870966276 176511439 442665038 170825014 756111071 377404514 355793811 926730353 607639873 876729475 987273171 165941265 554650499 552924554 265482611 320113521 759076819 883540712 456394073 692859215 986270880 206930110 615988939 623733093 155933710 278799697 279230400 764618419 737367329 495639480 336047540 306928093 686738700 130600561 428355218 722181133 829536458 554090340 598454816 710830048 240661076 326294347 200667582 536741394 323679112 344516319 587975567 700551487 255861219 485810471 456023909 911951082 208318588 256170476 318602308 780095869 351758965 518686634 772428572 153020963 849331067 614404175 640861272 352201942 481503140 888192306 375894322 148950102 890293831 518677963 247537149 678001566 386221386 951986401 754731422 998454742 714729317 197991827 130676455 626014911 392937627 360691016 208688354 828981395 754113048 966003761 806860813 818642656 759213789 686055412 903023464 530789743 604730490 870980747 731933880 590616218 219178461 490360437 605139388 889239114 694334205 537678191 979356029 325878933 805981542 180442664 945996451 989592098 124877969 863262757 622055152 834277627 262842309 221512303 645055620 713146922 456572433 107291335 154862028 643300845 483138009 708500379 282575538 681114875 824758916 243620075 230825700 687354122 550280773 566501559 205586801 600776863 623868564 583611013 411966284 994790286 432102381 743223435 976182139 798630310 537431117 138304979 477869217 807013316 468075078 489867399 550922841 853174781 870199977 967565976 691996711 998985000 294594440 570421951 355931773 215500851 821822396 719022573 478038171 641777403 403790665 497318101 816458844 824194852 736421499 931787857 428584371 440500609 927536336 342766880 431423670 476035904 486392348 284387398 967469778 893586196 106017751 536925409 219047898 549459748 803644369 525068416 850471440 322669538 531955736 978195667 729241532 562667634 250574131 470521487 876950866 390345284 107889181 264756933 743795600 635768917 159547794 132154749 711677071 426511483 918974716 176233511 229777205 646889980 795615220 703569169 524074294 430355415 280470605 532029846 431501424 345135732 619516654 669899328 508023007 599019779 213411592 894293780 702952243 711860850 711806038 505396607 731720263 692309445 486785708 313091002 986284778 205218931 824061712 768091097 386541775 737137557 251003421 826274928 933775486 632151515 731582177 405125972 758744506 845437972 387773394 312306450 639039842 235966227 288660856 688947022 500938347 394088306 727263943 940859245 987481660 318752369 823686051 496139173 778773674 201987795 805137592 227951118 518604558 715499564 961408594 867788281 479356173 622134222 383749212 968577605 358774493 900440871 454623244 840784724 396271632 543887214 105833283 745157128 109331486 467289889 791495400 618715570 683069601 811672246 135094989 621761049 865207232 636307404 911277801 624733721 725910581 685104616 628823341 910926335 985477765 910561992 644304542 137059171 250765168 139620945 650488732 426953784 530875498 598642278 522470922 879690734 791809341 417937362 842262396 699868623 562138325 429261761 709890380 541565114 784597315 291331781 719799871 958742131 118581467 576593265 602968893 439435934 260911206 233326844 727099722 571792503 580009443 396915187 560047549 984711785 897323598 285960218 804995125 640274195 329774437 389315448 742581953 729691981 569136634 493777071 789656678 838401348 181487392 728186409 939776962 986588885 764810245 563644359 410886376 957289188 725072077 832684109 271564856 604114636 359992705 458472528 939233395 458921334 823745969 647196322 788386983 416577019 595874793 273183613 723238885 452760469 630760118 552204876 164523724 180486005 309749592 546799225 539707046 414062956 257087786 753042796 162068089 398689112 658901775 737332064 510375935 187348742 455807312 297830339 101624233 990330655 515822342 534588346 980864996 978296523 317892857 359846358 331020241 651543134 308546107 482931209 482931568 339032178 270072113 610859797 296995019 632691411 647309780 609692224 665543154 856161400 277097489 990255066 234311323 929837523 239612579 595980055 343715759 154579063 327876755 644347170 350333966 932437761 611094115 152622615 644766666 712233364 898991428 169714019 649926799 516032379 286793750 237642383 158292580 383607597 644259605 821700393 675398282 892945855 157184877 378350596 285445392 525240857 318764391 828200894 937271732 138696898 904737605 710399538 939936569 138903197 135550601 386177047 695063054 730552677 281421500 297005549 321201190 762455364 425338144 592184361 721302173 299947739 717108878 679309382 698013496 776103885 631724812 768063810 830013168 192463247 788404244 222244475 758806887 759751311 186936384 506108161 582785922 981909009 658173336 122903105 763160130 483514041 965350628 866363728 518675246 540158741 852859389 659234866 496301848 528901583 133487002 107416636 244798786 463116341 185903822 687963339 856456362 447300209 347513681 446615341 341225209 699607551 224205855 253576723 807959804 148760284 655478359 605743378 901055495 547465234 951681502 807339770 502472992 761766895 762947331 642400560 716372138 255671311 260228677 583810895 721655571 721359808 863827473 514188888 739722450 902127340 174442200 841023242 550661459 348037236 561029164 975666844 241725765 879160537 878314014 512838266 474601918 294823614 437181111 344876500 945846046 166474727 829881661 655747984 872412061 817714182 805591551 680738127 456191721 255473290 611381153 214396135 811956553 831761289 216261163 521546206 806601165 492830014 104320548 834536475 285409834 486482820 387952232 972725062 772189582 110654528 664349142 343724161 404016272 683665330 308500824 294581782 211151149 237672182 742921719 639493744 847827930 591910605 353087745 788629458 690911624 113775421 491950477 968466707 316867612 973255646 491703613 271523849 864845835 832734343 225087522 316538508 108230207 562463344 215742377 946509364 329971675 927159928 279385051 463241405 611213758 791616569 807386035 511861208 928703631 688410015 993848197 924639961 521309641 482904424 191608758 159036819 885596886 585985535 546294584 364820969 244286231 337058082 696984983 298697891 386401006 612979115 508949557 479200259 969762522 480668927 898313142 715587455 428615042 225830728 724888386 287400977 572086847 837819645 119235339 674698489 847409733 183619112 935729730 287718131 478758586 373768848 996635871 576487662 998481227 504645005 221028443 955591631 978702853 582300268 842160524 503307489 253985308 147912574 770864513 408111637 308234871 206318170 131455440 734519011 909040396 550883349 979007911 913669260 970623894 620760154 813129306 201585216 584740284 607003911 467874527 386529555 516900988 285905580 620964881 105374427 736432880 215950801 658310060 974334085 488166236 821871249 799291173 188673841 964473880 664536343 718778679 538374208 895831996 851997255 612688401 718250335 624943645 625098719 640022473 420770305 202406477 237520272 785525656 843137222 255388889 139357996 969008557 808490948 370391452 902023400 394077675 631909806 201333131 371484961 720821799 512606665 731850108 179793880 964076170 259934901 835985997 480134956 376752275 446524101 435238472 185652622 690316577 457466337 467980695 256762088 342821605 657273031 646261014 878425168 556157441 682216120 105187288 777365829 537684307 819303973 541391718 345177306 873339954 691163690 568427506 261982126 674963534 850206346 282842874 137907139 210803494 642436554 350426108 558769017 279010941 177531483 897044857 833730767 422455065 384072589 220967825 525521334 786429638 885207964 390264617 820406531 823794507 950781275 619283310 681273202 477786924 211749741 737842691 439353750 349984900 187685039 922988292 751698371 857675027 892590387 233436075 982351417 559364601 599495104 413276227 724582587 413650962 772401324 929110814 755045012 285475652 618644912 317192381 297014509 563306228 848174199 426980860 460331260 862867893 381917823 852924878 596066645 531532574 263598044 718967047 291164804 717687232 976418732 968135744 454818089 994930107 274047133 920192299 583201589 594526999 321695270 371699661 984547279 210034024 435883426 270709073 539231997 740342829 820087072 344012296 573848586 269017838 667184595 542712152 668031264 105220564 783295620 392342738 908006746 462319551 894189073 776978908 444674444 284028465 189939522 301036038 445385511 957291068 737280690 930059350 554570548 992337914 280707352 790257255 673966749 995733848 417154795 420002873 362067015 406934043 752861806 666865770 906773685 444358196 521215832 421598361 767026866 651103714 755448196 632031406 106894947 953977587 914178590 949214221 235174667 680158360 324374175 464160135 341498822 453643568 352128737 756460147 233416544 466461773 772088295 505065798 438510228 163728039 557748242 819196218 159106351 439714897 698188710 566996682 423153300 750517042 949288871 853896954 206484886 381473136 255992016 172108033 331815219 652154725 390283712 547135659 498645333 279947920 566286024 221032831 359432983 730089190 994797810 367700758 690799521 857354060 712491871 126579184 239006452 358061079 688158594 180447603 544149640 467556674 257806280 840650121 986608889 290620864 119751035 910988438 427946988 278324717 658516510 130096081 944192506 705030859 725673230 212277485 969721592 895001607 856088581 215278847 522969965 856369428 795951634 700766430 313066153 964326393 769272978 460097242 264122339 680571611 218787489 365638171 338314064 527149017 469376784 941857950 898702530 705481378 485061250 134628730 509846018 930855038 196323081 339764096 919277664 245415169 158739782 988266637 338072121 266645941 675394661 289809533 999346960 955780234 926603135 413428936 489045699 511036733 755419630 985661538 406063733 175729703 619872073 966542159 107524479 940424095 572264816 961852895 580713197 336223650 527011636 251212695 524895171 483615426 658921799 281183474 748675935 400060853 131146576 248849522 702552082 955083283 354998138 820633349 258985758 528726325 397355589 128020297 463316976 255844244 638577529 669225031 887249138 140916951 642276640 548540364 633051834 381718347 520663988 857859050 301308691 884356725 590278852 711326167 347374523 890344624 970971929 917550721 877198322 653111621 352096833 714104431 773701453 893873285 163048796 276753129 316823070 927303358 926020527 452141322 649770319 678632891 887933161 525925219 427048112 264722169 171432060 130064367 662522039 959780469 675265258 805441068 567561606 632937522 615579423 758643048 192767041 677293028 863265675 591119321 897979662 114805360 502812017 786632377 998427966 178260939 511831524 226435341 758767169 484234355 938106069 769730551 710486990 343871067 503019797 231226365 894444276 513959314 357089777 553751733 403339734 108993621 675772545 405584433 671649022 854690360 734062474 328866267 755967600 221869497 821400411 222038520 890532565 581789283 149648483 492528792 458298460 301805397 842011523 577802240 924814404 873456816 700685765 268384896 289781369 621184257 582632789 700116492 363505725 896400483 123446752 866715952 377626798 668728406 554603260 231563055 917546333 957231330 739246831 566995738 685044891 739926576 238156103 832203254 856576051 518544027 540788475 625738431 676746010 442806651 945436846 809438941 721610273 691863402 920886086 621887699 393107801 361135106 102959083 671085208 755633220 407083276 999248865 156023789 898170311 790389428 935393183 727533517 847147211 660165837 352320571 641018042 736926245 679954326 340512185 206863114 583602429 179016528 622111284 809983613 131633677 854814252 328327557 245111470 648205300 248505915 544975190 687637890 434344179 996490976 495732202 747714070 138845079 651508363 924085701 777812420 699677412 771401828 482751683 427107771 289465944 709667836 285215263 163480859 608897023 926666231 964434009 365390683 965258411 536514476 116785277 651981999 588173564 643714806 638007912 513467026 547298378 883942624 259505438 879938352 151030813 692391571 402301288 890064795 632696069 529930318 432750690 237334919 622931953 759225998 487946663 236023537 378970190 571501222 111664456 323734101 253198044 299023176 809054110 550431722 730409257 246327093 951276534 217369888 134276428 977645296 237363486 768872133 852425529 382327593 772926354 537201394 874162543 303425190 447202265 820591765 541787680 297784996 358781374 460339914 729327214 751218212 514829625 237198268 804433903 217681005 587638570 335870442 762781707 681360588 732415220 296672650 712743915 735385345 612809179 433520846 673935298 376523678 634228386 724746794 881366283 258184078 297798859 570755184 820641738 367610831 949964362 307743023 123080368 842193149 219645265 733958479 811011819 706333075 964564056 437344857 481149981 259030137 923229110 495026923 936685391 862499800 691656476 450259052 327888064 745101290 562930926 439479737 391668280 554436649 997351234 612386133 127523743 315412243 996353552 577038824 117604478 326244623 371516877 174627287 627091573 233901770 678017604 955575262 850412061 612509711 810282518 187473125 810198023 959381913 267028868 195855472 420044311 420755090 491084367 548831130 813162395 496590981 143920092 137628535 270716305 825094091 321038767 188305273 747572029 897209585 833234916 325944211 300355170 845423165 389564191 328358221 192372347 697552448 894393270 186158482 719863505 795996532 146744343 609025306 240618982 688617034 171359415 970173571 366809899 120782534 454932875 841668444 535717632 931989286 834890994 630101626 349321887 263244605 683384347 383821285 560147237 875723791 794272045 400552355 654545356 701764063 331096958 752797596 806109980 522535314 437211734 948731914 859362791 324038438 885457287 780251630 870945444 128003152 473242607 405883661 514165888 659051600 676260157 998441715 683068802 666476023 877605571 904101186 285046970 282588739 887649374 701506924 351347529 142683723 534639035 758732295 711353814 557809165 468624179 792533118 269511436 519738657 561835071 736759902 499506049 360321696 914750036 314673745 129927724 357357825 627430975 620301671 351105125 180098601 955483293 897537297 515798389 585399471 673289341 807471086 411877409 666549369 473950227 347673603 448986784 183505267 369707638 332122227 920310521 977215116 273640968 440660951 427007172 367604407 374552807 480799077 365130476 660627581 356588417 324951789 473058874 772731667 256734090 220441156 418081264 194833900 233450606 937186667 441789924 829253272 662322921 401914663 135086475 567141483 354503912 930825984 952155159 921425368 288283482 647062492 714208435 960997987 731888386 307593354 150240886 448397508 413838124 307659352 179701309 406666514 338614688 412238950 483880503 681358534 315694095 946971299 773961561 933648342 732730938 315626834 366652952 909450874 972210793 182283607 764755182 794278343 324112440 740265041 343456222 874985229 278759736 224779258 687409058 742942398 114197521 506086683 523880311 653550845 208970596 709056484 740658510 894698153 893226263 582753308 914222767 268185863 173486004 678315526 915881457 615873262 829368235 815442270 140415385 821121010 474764305 365850420 482717726 384372955 460107454 501903313 222397666 129229258 306298643 767016489 938245702 202638835 574373014 972476463 211754321 150103433 498522211 423558934 220250927 720141501 750948390 627793211 575095378 961731669 581423389 984226037 617104187 900509248 990340677 651250871 708674714 149642440 129863460 492669028 768671426 998983415 949933584 261074947 629694708 813767991 447149250 876323026 531405201 696094289 606042073 959393122 946548743 321024397 693187084 996377571 976660325 506905563 925517826 552375390 111430322 349838900 652405359 627227393 984858849 814698237 816222084 595832089 517127320 421046083 716650644 136879430 466019097 173632938 345349801 714389958 945736609 873627630 479347668 497969573 424883649 961458676 707587227 212805750 254102401 445546732 121808708 216744380 720233329 639671522 242179699 808331933 873191430 376554422 385406058 400267195 728468312 710211216 827488227 191059406 668101807 239095405 661745393 154740377 361060591 884258114 127996262 264626218 926956350 221224210 824822035 611142592 521100136 705444168 335165196 203519607 350413831 284857713 929887528 788493824 835873430 657168697 852618034 574101213 947477741 493561223 152232550 565766323 379957479 772892562 519998166 109606822 389410457 588492814 185985143 390175077 619365153 480204565 241885423 423867365 306575341 524788446 569562791 582828061 328355218 289647009 173775419 150716816 850866629 802344933 671728284 633791980 276437318 922063375 626022802 569218558 869545347 460887541 880228120 622362788 659426688 751705995 280294262 976395643 475435027 679270953 948563852 308808812 518842855 476564982 912050493 605624599 667027787 777716210 542481124 936973180 985955378 348365659 607001067 285650970 406017930 416335939 798056447 160586549 668027920 355322160 735725552 652336651 875490482 241355264 364166265 433447673 881764388 770457116 223330362 833432315 872977704 710840487 439793355 270563875 712483061 689552473 511162441 168685151 234946447 454796273 990312310 672692274 267934017 103638958 919476376 277089190 829752048 922721957 870297251 610904139 495702992 479734699 988249943 655120801 191937970 160301153 183456728 815663835 396408116 816128800 554268739 988320121 968090162 295901166 880773335 994719169 806792294 776510650 495654266 783621654 302711532 756846139 844031047 948499192 912859232 165588462 860769232 178760912 844784961 763898716 977662143 877147463 759067811 888779768 254138683 615470872 365040675 262319104 514865214 413938776 435942861 336331328 410038440 698124778 178536618 456210387 507190331 356942447 440733891 880149847 584681609 577843159 717300696 114889185 877454115 842076929 348035030 695128671 224963155 447811011 932949635 967314026 159115552 303474223 316574412 731235383 735785834 992488279 145960963 583801303 155478361 489157628 217080268 232221602 538231198 965935029 802262588 259691024 223244433 351595396 836347307 829498084 513722827 518727161 416586646 882562051 740006144 146853636 601932797 728369840 149142100 467012985 408142251 261327002 707740895 743980004 716300129 671880833 661410771 565572018 193880882 918642841 262964691 561896701 545065690 623002503 693293339 171646639 767595406 748773925 429262773 537989906 422255911 597234573 469725134 246703842 435186630 873564515 757485295 222433062 162418910 715267733 238616216 832299592 952711961 949810326 179887412 496651081 527426900 869172725 203289633 222221275 830838485 203126480 754102265 509712994 243750576 351285207 932897509 718123842 268094765 664308976 733363695 276803364 924897364 627051404 376901777 645944995 366749313 967263648 362174007 647078734 855159806 364606157 721215338 978806186 322604212 819423947 260754400 352961802 175703118 826607828 535674596 662236221 158733059 894447205 369853776 658172974 937491008 992156693 834991645 109278559 617858008 993689035 278344013 815394043 362284049 569232196 501233031 846426284 602378198 575236881 951718994 980488012 879341074 693815202 343521055 940061837 911569075 246037620 971259860 965199630 935764335 311109681 580943386 883519762 191652941 914886418 292545144 803754521 387078521 700804576 206236972 280307999 227458045 866842934 390473513 642069038 993724599 720456887 703312604 959037813 958792608 465804435 882810466 257363669 163564002 944583248 562290518 980689389 763714960 819480421 215772085 134045987 428988460 521867250 406677153 410715656 605454680 982287600 105082179 277711310 374293667 532376267 807221037 392074565 338668937 248927554 989382709 503596753 810829812 208227574 352564650 527946040 272182961 596545981 741330106 887794591 608975072 733401437 423689026 406372559 854815922 964612501 191256501 726677294 964663658 224922727 655886134 245753865 422795617 286804447 999166813 966696570 241766474 105527656 961245098 389682966 645770243 460381311 307387330 757097163 871032978 240289829 637450826 780453069 957770571 946143972 139860441 898122575 637752101 716776536 838413147 268216481 417962655 258386885 574642183 836804577 454144230 609289742 776284631 108510311 729762286 601550466 286941197 610277032 768567662 623108000 257028640 898340029 298075494 368413669 969906070 966697224 176152704 736076422 570348115 779807455 772640934 288364534 126991421 418503104 960294222 348808965 530278159 223113946 543897560 309833830 452825757 926834981 764362120 212201979 605150231 379565006 700438426 396998378 500241590 328967078 232200783 360046417 248633917 417986492 210444903 600124555 816364449 269693533 591918176 130662707 603991149 781199275 825702681 545655651 391065060 424974708 281445503 837443315 102478313 481920426 228797427 283258389 585223786 537135406 342497109 514389999 952478690 484299453 144178529 283405361 101039892 546556842 341930922 804239679 897329060 737430926 859955394 344408698 775929264 483722063 492505577 310139998 787924308 425281496 258750340 939067576 736531239 376620576 986712698 274505139 476458262 502771082 964094197 340717620 203607844 117679708 489269752 576597819 300215037 974015084 111148082 689534606 848223084 501845663 453858441 892864426 902058265 117292087 365391337 387583559 312472929 635690998 672276127 658210300 586800774 554629601 446707271 494932615 997308879 270779835 762384427 492777206 542626298 806681854 558268371 857430931 862213800 134280477 314157225 143722599 387686654 663910562 573723011 681441533 317651291 631811588 130658402 295150645 420447851 237881899 399838435 204878845 576624275 443338031 477869405 950849118 314048771 520459735 808158446 626605819 196563717 965138464 371334113 616992847 540035832 433259826 414326163 866912307 925932088 192825841 190933114 617009083 343408316 148326113 597527192 541976449 392620870 484547384 361238134 101021836 962046629 326339121 625983136 879664276 464727952 949267980 714182441 135097303 222252556 954520180 654440572 297330284 696877833 611984006 167280737 771588692 459703924 483845538 705849642 434217626 342127211 966844642 678757364 287659289 984887160 429381639 125963247 177549124 656758073 981096646 617023334 488698288 873654097 850632432 856378590 824508600 541048381 587339886 435752475 811280755 439850518 991257026 951327688 767851945 183611573 817526302 786138778 902704329 181653399 222966627 253271321 397945545 527724953 187240511 354032425 343152858 959290590 940008281 155080209 226724635 298477194 207810083 334807284 708753434 599610053 322256789 354618165 689516218 963733756 850830532 318233324 944376200 960413105 104880955 840580052 874831897 920554679 838922391 231185790 363049687 412456763 389283034 547596369 481468282 868096779 817152278 942007515 514752305 649109676 748526051 865399540 300692375 567819553 772422686 759041896 255924117 883046637 344493241 825869714 163981605 515605515 292570602 117581041 580733625 920051482 191620645 533826849 264466130 256927230 295925176 623701785 688538260 974506770 955953245 125950958 907391280 818895773 962644598 427678194 491610595 282181919 316976417 804570028 705003798 968845367 200240161 707687435 740446498 958751875 907417553 797846199 414195948 326990997 399243973 248940670 541212585 154498354 540815948 450415758 701919831 781074552 885760972 570760479 513799627 181543811 965639983 644528500 330915676 273919063 863769555 823445328 192336874 583474747 271950878 990100614 385523030 413817709 878249320 423366428 954761551 970622921 829126458 623783053 599096624 510397919 675699517 414809927 846068685 152456156 676937059 193443016 975477093 567003589 286614111 586299176 514686787 657019673 345133176 973066273 127133572 372802193 718875525 737375302 496480356 131649844 185432057 459064523 372251677 893085871 865200085 368306578 523140749 673115117 619347477 928906088 184013363 164740732 609911202 248248104 978619872 829400007 287661515 496842683 306800941 652515123 587253216 995064190 854433823 656543317 906606587 486819421 656964435 851028904 186936745 396667667 294063868 267409008 314600305 617329030 322148083 536679704 146230187 503035893 131261242 787853834 136965850 280834911 566732553 451102493 993344589 147275016 994209071 630903589 890608013 147259463 348049492 279504886 696274750 752854995 718752847 534293535 197541800 285851729 503297556 222389901 812588413 853522012 518969093 791145867 757062361 807910519 423416698 434869471 885963360 589013333 597065437 393394103 412546962 262416934 441320566 756250653 726627492 426565938 763390238 578900884 431666040 105525533 165769873 483363749 438878009 726032349 374811591 534819589 557793539 117277929 712867980 436026198 673822691 844660281 439557507 722866007 187626092 844280403 429464481 749460537 998581560 161188171 527123740 376871801 245021878 594458737 219127932 100972869 940642706 974359057 212988605 178564855 814499888 754046316 302059182 670508644 264107827 707932288 841631379 712956922 339245347 515411547 545218888 723210032 340351413 572379510 836246939 671499178 411905140 621736371 165845294 506435156 347142757 301537449 732062285 317904850 110214710 977161257 956934813 636166733 363139556 952576145 240293042 690835791 193019851 677289393 886653815 411612908 631913545 375488894 265265907 353545861 557914250 167023394 898276854 997027553 963187777 718707711 308056356 608814475 505094509 476320739 183620906 204869483 939166104 152712732 448799773 611528056 966490502 654692215 514386685 368175058 867645198 480140743 628503866 448639173 320290834 199032809 940352944 737366684 494878772 456801108 563309438 137090604 406949708 921365220 776718822 958072351 325598648 360959327 869110701 699197108 950826488 868650472 336458531 278652871 393375782 564036346 999789691 231237228 340774077 981480082 825577470 661110880 961831016 431097977 964755352 534895624 776304579 218285847 595693363 988691066 748050549 718777475 879119026 740450147 472306768 457284935 183421467 875100382 857123573 142498103 446322816 171185898 546950843 821502143 281663896 652977453 790019229 133864472 541623244 940656051 460564027 664654808 694468689 279668558 477888147 152058639 744771891 697913049 507925914 293832545 851902614 253585907 700953089 719954224 618912312 216492332 756636153 868812959 858358160 473347164 488456722 221243307 134810890 413600481 642910842 678882673 781716094 993713833 264299061 306736206 918036309 822831141 316689374 279942651 262166124 702240418 120183329 377794813 548627983 100680225 463277086 891043624 202884725 758054526 563471624 747364044 378548018 678860929 971273766 960616960 291381714 903914737 489803720 488481496 219541365 760597539 611397548 353652282 304474921 986032352 624871018 810255049 615922764 905893974 826345536 164129220 619437943 171138252 725410733 334688894 722519044 847948386 407668157 800823238 104239612 278514194 750440086 842666090 982901933 627749780 370268264 773877300 801831918 101820541 764545361 733995390 933977224 418819973 563217327 829234578 108891371 211597346 914424616 812425187 993105832 681464804 332282509 159249185 215455588 103332278 414132817 398591736 875854788 882021743 901751186 647361794 136128379 484250499 723333640 187385614 375417593 243632232 663604459 317042802 838121510 270931403 688796992 940914655 860288014 488507834 169722122 221611396 547116334 439631517 235868824 571253429 297919895 362888525 797561611 778683234 147803390 429880982 129221951 544014945 711877222 584226635 261265112 282645390 853992027 786680804 657249721 343039047 961411916 299040231 848952701 367645717 880605899 400925015 669394384 788828252 725604775 358073552 787016147 488343797 800188774 826241873 376858033 764921089 402840274 312977775 330832422 785473668 492974302 385713524 546690702 443076417 123928306 405626239 190621783 908104199 767340610 611278631 512070583 853051136 632128601 601140933 368329923 660418135 888841200 193688142 893867925 587317497 186405713 484125466 722577467 191392625 784074073 810444748 720153371 503501935 913550732 124657820 290706057 718087630 363007287 623070312 153668885 900697573 523412925 133188695 229032617 412237589 171444179 929361316 678110948 686710173 345174086 853116652 318094172 323232844 381191768 960496682 774156094 943490055 395677935 220168961 891939138 672013619 703903651 117044554 271180527 806706649 430114472 963879848 506348798 925716521 101480327 799007210 511184969 942003578 967465353 136425673 156276060 844490953 354838290 872276900 670165904 248118704 644363971 542107913 859485556 313268643 210006300 894533961 759726676 276108387 458209934 931509552 859044184 666282731 948423366 434806159 245128888 216426496 209921553 678937577 952484836 538607361 350662117 505037310 355028468 664098606 937211879 919565437 819796479 621958342 289506088 794213775 423934527 494536317 566525066 841680793 342615825 114590888 592001344 162311858 330137420 864095991 989966107 700691831 239423662 530390389 594632281 841420695 260859788 617117137 502870612 630183784 881535217 412324568 529230970 516374321 449568999 122362992 622897420 923246428 457847939 284231527 299646673 180529136 882280568 398411948 955106553 550922790 496429598 304163655 236142167 981948050 763589112 538256808 219598826 978457247 964512635 702663758 316503467 254558167 316737672 896014365 824032286 433472809 899069488 222042301 931246787 276108407 427023615 739589140 231994988 874788976 974364652 887282703 183255999 717969017 571552660 584377611 996075219 165511344 510054591 828473726 319392710 785117103 615868006 257223203 946620409 666674531 546944243 390500679 595104368 909914872 477504784 950321142 764393641 225931762 690086201 628139624 769367227 727073261 974226626 408103033 345937921 309193994 774071525 939762094 222359463 949116850 606019620 276908814 675717932 766033737 438686690 985089769 779295435 861678154 982763122 101553066 862220292 261986570 156034165 163790752 650202953 409987806 735839929 691991489 729018860 705096561 808459617 477526420 420693454 806536254 946661332 238535076 179481659 804765452 668753421 397230070 889090417 334826269 144087254 471821010 282787809 306908250 150814288 480258561 637016502 630488865 630161487 710519171 543591176 254565199 598998541 597657960 644529654 830738953 478276608 841398786 639307641 979235605 962886484 975374326 701806575 352730409 388225237 212241260 670386735 383529340 348043566 744198024 776081019 216080075 328312022 554836829 739940595 873682088 909666048 764720897 841876730 144874497 448678209 550593850 266582151 673758923 853799076 928275101 269263412 589774291 210707084 568496313 899772754 999873718 705130184 800437702 590176070 446562448 475108639 802632261 287151420 427828380 894555664 893043781 180032228 552362553 737410858 455329383 481919839 259509438 539839840 385548862 702937658 679365720 615948825 726348580 399575941 448065934 129404407 821595686 961490380 262347259 530535790 492720817 276337445 968678176 680012317 357756805 317425713 999116989 638214866 810495632 894733728 481189883 430711315 664849933 244170931 944736660 935614013 492708059 581511676 591526906 746357149 629272648 720335742 890976365 778002303 802719055 795661798 327098196 102941679 619452359 457914323 645231297 156390377 453999907 544085232 578944995 310104034 324623898 404637570 265823363 735755215 379089640 923502291 227690642 411740451 939095225 109245987 474665249 593553418 680560974 509500528 623155934 681641414 516357181 604425315 266782641 299908583 314003413 879900644 354795855 359378190 911420135 268500850 516914618 515445306 309147438 760873999 342965203 100772646 350958487 511149264 413479587 285008377 295439049 780701632 850562273 251175363 938799357 947399849 912716360 567185029 728948949 850209067 314734964 472736492 583110704 989736467 339080782 271588893 386576208 276377529 357642257 558941271 358406306 584821375 743735273 926591337 925756259 786468927 781659507 382987273 466114828 387611124 473101451 627504986 722805278 486452274 465059171 422813477 984421359 981865284 933700792 439157426 998426155 862556983 911549464 243716855 295942839 225024816 572878527 291037224 825278621 429215833 777167802 751187499 193230034 982413692 184644064 936229470 334779111 137128822 673976759 330431715 216486969 979040184 416285676 633245811 703184739 549538157 331697412 852839164 518162999 236661349 685941457 425275388 615575486 402634503 525567147 400266699 760338074 944590037 627594338 482474254 864149979 135388663 377192724 992023435 940282612 793071258 154700258 367314543 464755112 583028825 320539361 178249626 828501791 671741548 147594441 645029235 778511022 721636226 911631231 878770323 837010087 177623521 760568189 455403928 191351346 462252647 275484524 713308368 411152839 514134321 902663186 887356049 426451875 938668159 873953268 277977722 426998194 338602581 473648981 414815445 273810927 427660876 259392158 888206283 702032727 524180965 654175605 200045774 629207919 316164658 229115938 269121419 457646948 819083471 271678236 480281265 644779088 134532925 274697392 952428653 377397682 756337630 146907834 194594254 209802921 661234324 170508862 225992019 322541837 993781317 720831409 486694146 699811100 416524396 853608827 419008027 240442035 866333625 906688120 571927360 312867419 925659474 955501267 271458928 289033172 927292548 723352884 323429167 106549066 887758625 327156072 278846403 996495330 790957219 952614980 765968034 285460952 365427236 788070850 577047953 891820089 263920128 255943595 895436264 431140994 654455379 282702947 231376307 137060459 769615838 109271657 881450709 740309887 549862454 209777254 441403551 679564930 531784874 316882845 792172910 593492060 715417477 917614088 864843762 545036456 295981248 314507389 848967947 802386069 467602727 654566902 496537775 418721489 414171220 651438145 768384954 974610282 911240576 371222302 215350931 193961512 375327020 936149881 674264469 276754898 248498266 556839984 751527065 524054957 847729097 935260696 785360304 268358847 334113427 206757174 142165630 432458025 267132912 889694146 691316732 514064063 708747440 891501099 450350089 191947448 790815188 647309445 757922417 417373018 266110982 791051087 543036169 574692086 352237764 624239416 556029896 975242071 303765618 364644462 107534593 404758101 583084502 700383949 895518793 229842642 596002662 759058601 854024845 298848286 163199684 877599344 591043007 412039478 524896879 576905900 564529950 124323096 926501069 704928221 466552502 948334197 108672722 967218349 345504864 248659168 967571688 642327061 194108981 473872258 304136354 882743779 145194687 344094573 521794164 790919720 745191345 923511489 289459884 837082451 174785285 817964297 907700479 240000069 940472071 866634609 591860683 542993881 110703767 288229011 491104703 275345502 297693292 186320764 418656921 968034440 834145724 794259592 740386514 163099033 518301898 474971650 323945595 367943685 728668954 939018765 803399826 185135912 599984694 667409052 997158130 364639965 672104529 106205405 648963623 656096323 348758368 446210151 627361450 584952468 341302098 358595720 512416313 713968577 759525808 172394987 819976821 946676796 686906611 490140532 654818449 869171159 900780270 851295312 429976688 703651809 817972110 243633983 620606951 503956852 224686664 772048859 669293302 832737637 512998731 722598919 998646997 756167226 856406283 427239064 558645369 901135529 233897161 907624863 924244349 995361896 765764271 291889695 581811050 127019920 161854611 386553606 897916242 779751675 933562439 584857564 245226988 900296631 172361761 239615955 697697041 507297540 608281185 327133825 912685965 475077159 263591923 642095729 446449563 942515052 662485905 877889368 539369764 610820467 569818638 886942293 256934244 843093205 642958135 349622660 163698386 817679932 105129555 827637347 107388280 812480115 341397502 575036877 291170664 736332058 107705604 493215118 577677866 904168519 215858636 955676392 134436369 162458197 763405257 513293457 466057578 299060954 499618386 695262394 448934510 207219739 705278756 304843434 879236998 418922023 339049571 658981086 551545214 792085605 526143770 589022245 552497479 525637128 991437677 856926017 868900797 506804787 126237302 944707902 409558649 759102973 403116554 494582278 753634258 476277500 115445139 477475355 785287975 198016595 560365986 158330444 162173836 115849027 335616193 657670407 222953821 708454459 879899517 544677206 537976676 903625988 843142244 743927697 525201385 671021005 968892533 496993834 939375659 168189029 313082292 234753871 843287515 506091748 598915113 743289013 927914912 338986347 985628595 583694097 683548538 917167609 648256441 912470268 761408184 925129725 289683351 269550224 372476786 554522996 725140391 674848959 525393367 164618375 854849573 333340988 707052005 885758364 757608168 471899978 808490459 654756773 983013151 562825030 577491242 153907382 360488403 288541006 458933686 395000053 613827964 725286488 790598164 488807749 189801117 651870736 666223741 823800542 564243404 896131201 671957662 578896000 540903341 807630067 858650422 665286078 871004060 597988345 395260105 856870103 142509001 868839996 857722770 322309438 730156492 122525317 718734860 786044068 652070267 420077308 751495999 166668365 926116189 264196946 575144167 831394249 648289567 903240602 125797730 464093942 259821795 762042959 640460993 886187488 497656131 247211698 565720854 492638660 347151679 134142018 263037799 794054318 732018014 569742147 157399671 945143539 578578484 641368971 758731412 323779159 869559920 338407189 219857588 434458730 164362963 860181315 119165229 390694737 182726077 593566934 260267892 765021846 133754231 291797233 490024084 637894568 660683540 744768767 439598665 644865896 815906409 306663070 320864376 257399281 930651683 365984405 872628526 706656107 597865854 449849089 513820128 886677195 535770441 812660940 744476819 465385462 793097910 269141074 387480941 597808706 984886415 713619984 992593203 218191415 170064574 323564228 353530521 984225271 354176196 120395695 120049574 662561617 128777754 280747974 696233490 508932455 197494911 593367248 814547599 559125172 862673757 880505433 723509577 357830103 983208712 891119961 157358376 799428279 711630914 849818636 959911722 268850194 402199685 962826272 535666629 444970663 690726641 775374447 436896049 298977385 236684897 770168494 877415494 979172355 740512689 405501380 715875551 475911829 801320159 112704760 783387159 739129328 937661630 779632340 132595187 866170939 933499541 461445243 566331131 695337791 179943075 339345691 931017179 500952733 141477474 418631883 656749784 151528254 997624038 338315320 997341237 855180772 461656642 811764169 605633226 689827832 591633736 488322076 669204225 143462331 582992005 288988741 297311069 458727017 106395924 153641753 166440224 731555828 980891835 111883954 343046861 838808887 821467855 779620451 106955007 232416601 415434729 357315078 728907828 151873218 692674817 459033715 210326081 139396469 595528305 710550567 711897377 640948206 584993682 719186306 726970351 888873476 260187137 621203828 684701905 863837425 463696351 455158704 772759574 373344306 605808626 694252431 907722673 604963738 961801962 521949182 972368079 211549364 825462337 547410069 459012606 822168520 212857246 912774307 913319951 323152022 223252266 903074098 535192000 961091089 884237514 194257759 450451706 404781416 203694482 458721412 278876652 672016191 723205214 148035273 396551323 683121992 227331257 697585862 111757620 554082085 192327897 998789882 193379104 649125404 721389400 379759319 662439731 522945047 297629690 395598095 795145211 489584200 921400490 580887062 375488941 238492514 929892567 983187075 975227363 562559789 512764665 405502328 624267397 200191158 769399930 961625806 623405073 258793863 636530848 588612767 336370693 632489182 887591445 854759915 841838378 582919978 455916294 753626415 968186373 690644991 406103739 873737135 976278176 809180800 314466127 946232472 206143710 151187730 703327735 125978885 970345141 861867867 501026670 882234041 702258490 831054945 861332213 498063388 172286151 218394321 712520960 687682876 512447245 741498519 760438194 512144422 100696123 991386985 908322259 235464727 914148067 194338562 114310941 250622078 607853891 335778221 366618531 949751277 610781557 296880104 424990973 559957608 951189153 157609872 687384313 151489894 555120383 891676166 916361373 322212922 793477501 501229710 411597751 595346029 524237122 845333324 799871262 248024065 999418720 440439867 567991641 377881556 216935478 342714900 769228915 819368254 893808147 836183163 647244554 490735332 318201862 588559183 626909405 894225454 302215737 472253336 642774301 642259656 568453784 991175649 111615304 273154586 943511243 283267762 823204910 310919418 495873495 202839475 115019332 648991780 226394604 624571112 715858966 672647847 839609995 658750920 880566475 789092645 761964194 788547882 737452287 228845355 686559447 224281872 374233628 567173866 329733265 177045130 535319436 961113702 813352960 429883312 193713058 643345247 175422827 340296641 720713497 847798511 590764510 373029325 234589445 828514757 913951359 121420385 236651530 521613445 678222625 443963378 607363679 904449200 315267949 238258503 927809459 613457076 824273898 391276520 371764230 160476977 772993277 326461510 214693318 443897955 321439502 502611145 581328892 162560707 122922300 570625294 965058946 406281011 123303089 222079950 444599761 558443877 808122253 193358588 986716249 969513915 883008028 427088451 358362481 239748712 224208103 525403465 296929115 836843423 486653979 583495651 680490819 941953808 756997713 894057718 439420903 584373888 712376400 744241603 741964074 234794592 903468377 936210291 891952422 618347817 461434571 513706798 206860125 184796305 557493481 394760767 246595977 285400103 998803315 864487978 953747999 330937229 254789137 934149214 982043632 649947076 846030983 514959740 760971514 797314870 152437238 372415290 647347642 174224019 793239619 866650155 557003784 462911155 651286901 857814958 258955465 232930074 958048445 506445919 234311477 770156065 742736479 897650647 613293669 649701693 941673929 706205359 323939777 105393781 148885165 423617344 392093106 718694002 241087907 217905350 264259540 917592517 757115342 375242603 203797106 566616102 896923320 475299988 116242067 847560692 688247819 211568070 837275172 902853161 462508343 711929998 248665009 684221025 730952417 800076607 127236259 939863746 532298887 376967193 967126079 621596528 458071388 114490110 663650146 519186276 627211372 702348499 341156828 627478858 697450373 454044323 386035182 772017312 490850615 616956209 440299379 230061817 700698109 311679878 149599141 857760137 194306298 404514198 261877363 988089167 450848306 752581938 206424510 306241771 828128008 733376324 674421244 914844342 944934492 691969502 814996167 150622600 365356237 719630572 173851169 169203291 728827918 620003387 372515099 891866959 345924451 410652436 277902055 588562367 177764828 500066741 414218597 313941077 459553384 816782007 767538845 474029593 781683708 754936011 941199798 115852584 556318263 819301036 705951422 875704716 343969002 895514101 142756732 647545479 785217451 528216965 582514789 992088654 187878819 601638353 416073643 932664772 474331544 832634812 805414511 196468691 596352098 662816209 885518357 482458051 923154074 979017930 820070425 435773733 314074948 691145426 728044545 617001399 121453690 959921075 949339542 383669089 247440161 681885892 762082295 889253550 154313227 680926636 478175403 662839480 893657279 673718946 939411451 860600176 699695818 146502872 579927391 856590034 233078043 443772642 397373721 670111593 471040147 374801059 295089983 969227238 428050685 918397956 667802338 591995033 560613435 803121797 290830387 492634309 253460347 926432441 802457804 109770565 487653843 745364309 798407978 778360338 392508476 609164462 762545957 763589979 985543160 384323411 565155878 769982642 306632433 278854941 362553052 912002997 673382706 446728722 492947123 186853005 172883887 539303502 153735084 106598822 489451972 734873574 971397882 139322351 397972052 755211214 683184466 501776132 281945247 775226179 987370183 362049029 608470702 448947216 400193043 868023660 856230839 365503371 273259864 279433330 634281759 645320013 687021467 984467559 368159469 212851435 460030307 622312725 273065468 493215730 659328308 759717966 532453004 241205667 135738486 289226350 436950196 833074984 878921046 548706371 253175915 986163969 497745086 243287318 930028661 449783966 490422546 853505828 661090113 812406433 214802733 145713987 526554816 822069771 896884654 800407061 982525726 932960607 552766233 682456542 487179699 456668420 322041834 530476750 313200997 862267920 575658037 467162002 719095668 247325807 219226103 683318214 615011780 708539190 432793130 966930904 474089199 391646002 428471425 624933877 851541167 711488430 138670176 217331744 787939095 477973716 115462749 691677368 756293901 392726903 685193580 964685042 997577161 153348038 583443026 693774009 502487718 119103091 924808411 253191284 560627249 446576401 106427228 198079851 990393808 188800142 376212887 222024168 802903436 545930810 100027712 917301950 501044407 416470838 163700008 738603754 244140290 701253450 740633301 783087506 830730576 667709757 539980272 678016433 235600588 380142532 808635320 948434064 720927382 920036498 139958354 895321215 631970212 565114685 979485427 197177785 610889493 264367863 596586392 726476005 665256625 167524630 123207741 431247578 707827840 990547913 650099285 517129164 329958771 838581234 944413661 475513499 809265864 421113957 525613750 364278683 470432098 180260909 459342227 438144297 899506293 911409329 257846161 934143924 983701055 409060383 589225006 920802846 735601339 783242600 809813833 497238795 571881435 797100019 854675699 455331460 193881803 719974991 820182969 255026594 456084519 835632984 356439727 219924884 507131823 700650436 838194217 758712137 993231634 447948649 427231443 622245447 109362379 393307463 658597857 967065057 327000833 156669093 378121804 295677343 318420736 986200663 675771656 183831424 547860921 196893389 753375707 858146457 568904572 210909196 798392249 532751417 921034072 461914432 582576108 460586271 241541855 903818418 147341257 830566249 845142797 197777127 774524404 306008355 407164658 569568568 684551774 521791036 532534997 150724156 227991854 434482321 828837801 636538373 376671110 466059487 788315235 129418424 856383069 357138929 626642071 781763842 851814634 545393377 150404242 433461481 192701329 869925260 150307142 987109813 911068693 258772899 555688028 289839266 356806083 235385260 505603327 989023848 205300754 948098693 318217619 477507330 999069052 235231892 180413488 460760059 335049746 986712577 197984660 123888764 213166325 125466456 986324955 492523574 500732250 823624193 871202413 513982715 466382911 714619346 839376690 645663257 427188467 148958977 768496241 988247307 645405074 421904430 690851162 608325076 770543126 708698844 301971126 341714847 711819707 734203552 854343947 946923200 320369987 875273757 577184638 160690357 260712269 276643543 369603723 328612750 395196628 185919023 958887479 921358564 296963253 392742038 122787153 561250278 780759441 699780509 733478409 327792681 533203900 979307139 510529433 383962332 956573461 548596896 900758507 518363189 946484785 338640119 331385941 699321472 667038059 761311744 506333779 881618627 358514238 476880930 246669111 726702402 384489602 452193176 603912920 108204089 377945275 995642776 848492661 984961197 457884636 682328593 893496086 707268492 559674125 830966497 710950728 818790345 576494201 578546033 657353773 814885212 828025803 420390614 903454442 715075047 713199665 675582372 435739039 602645715 388134435 295982243 277132516 865190712 947954824 631225095 784757014 848963548 176056327 204382480 254992156 802290261 950897503 422764217 645891851 736025972 335714431 798054068 467247895 332390863 698788356 168468297 680084731 903631312 669382056 669092433 214787734 692316703 717556361 661142576 960884039 569524093 422318119 148776487 536364950 565572667 907098017 835872462 900340010 523227691 948655806 550787755 276202656 338330074 179569559 251877344 129884061 561422860 944248416 240707762 797831013 637767826 573831811 395229920 447471754 488648867 150657575 546753108 220463402 739356054 222975371 766764126 961438258 937979861 503222529 428162055 549820235 233696512 398681014 330959751 291901528 208587269 382673166 491100572 368239750 512342418 997022896 820672494 265688273 304111891 315838651 976466767 377417353 921048918 276427009 713177057 663140740 728844217 275198289 933522101 295842666 523953055 196989605 867287305 574167677 966923007 577782016 172528490 594936648 193707345 146111449 620953103 986685715 941164477 255830021 466583582 599220157 913482658 536927078 320834640 732195974 769942150 319246495 436465503 377100784 542618041 909529404 469813502 403478072 510243700 760745753 323359947 838424512 174695012 701543251 914772120 845939026 764514814 557008688 358466763 711022804 203314294 101891645 383952304 525577581 913050270 128659760 919432322 671735751 216311454 671739592 247233194 956073688 357805821 371870854 661082696 133567257 440401031 791726113 213843578 962029267 228821908 336601705 125241910 517202303 129920685 449038810 982535626 949269782 830602133 861772364 923246062 735285192 415652177 626041868 186430572 623887132 366961704 239478704 892915959 573120683 810676414 915711434 743202046 531704236 745550280 336920079 833626819 264350069 817479393 967896446 538014247 640214744 365040920 342569033 637870568 685032222 812731188 121306713 962423237 322889316 728397234 842942612 980409415 852249498 861597912 406417532 435079174 373373274 854143821 258799080 594207894 602231884 429666895 514149530 850223608 952171524 982277825 489282594 860061307 961859487 310873284 407204864 703081845 305302077 452406149 726465716 340464642 855154273 359334375 480285915 171616240 727622618 596266930 596623048 921670756 677083371 226004065 683252553 502438351 327842086 860048959 767201202 966985282 514234584 455534672 427394567 374165418 482660237 208006825 848376644 289969555 957485198 826450487 495487403 936839725 651651749 814775765 674087772 225209068 263438914 886368006 852113948 804958135 995115506 558571030 931489121 682909694 455793724 750872333 527635497 407735641 548231539 309910703 297026002 679450609 562929827 404909901 947247797 412455668 671659200 761895308 607167942 291175376 584603963 184025740 528283989 856882422 838907961 815511942 842777894 716283854 703543335 498664398 577342957 559991611 369346453 509910240 965094122 491811850 611319687 975631891 705965200 929796350 972662749 971914679 599356071 343472773 629616151 762263006 731724847 835866823 733323420 288283879 445237984 319178344 285698250 901116904 412841379 592141820 451719863 425435427 161918368 667112619 560064895 910830329 504368938 718278589 402647031 461642467 365217710 243579642 102642512 367754618 184793017 644067399 499885005 591488852 921762870 101782944 791406363 172531045 577668053 181942085 918720546 596493579 547010045 517763519 885878196 615635265 472036626 620023213 315047016 321954474 195592904 945265561 247904380 196897370 666712671 629449298 358055132 350568028 217078737 369052856 791458260 480886084 306491555 752904116 177601129 242523221 932648421 830116154 895832493 731141942 719445579 899172373 858280648 993234908 919401312 856239697 320857304 312181557 798331123 875498362 205831725 493495553 614363197 713784140 596671760 373496855 676099558 846779039 929772721 691204899 370542195 904660490 186117513 789390416 692195564 450234802 281982863 940703553 864489795 916619924 711686756 959586505 519039558 766035220 883818656 325306707 602361140 162246227 129502182 758731337 950660507 350258085 618282187 211844725 688575897 231631065 125250960 373193859 440074290 556881046 589710368 386851608 291408202 633000098 620364332 670442269 662038811 812589426 938570156 193628011 441312141 208187181 106381025 735354929 317449984 329313315 734131159 310525280 513588098 446548169 406245551 250783637 794116300 823138709 619359301 477288919 448871203 414435256 143681432 920251771 584451211 566535550 721463740 447736586 141192882 315182992 446499990 964937803 533411662 279311206 217333573 101697793 227692130 112373400 678935155 503563500 442159173 314647383 662369606 481149510 755614902 640149582 359510076 276663204 511108221 605017922 754770381 847941115 472555766 552794466 269187159 219890123 695465781 619562708 123519978 954785837 889258745 144233516 418328913 284822248 277252651 652924497 484872910 574484693 762887703 247936495 983079714 853809495 124132418 336559826 162494180 949689538 582657141 689618660 724585953 617954173 226773422 161454004 965674198 918209220 114641255 667960102 598588198 649973022 380907222 137908397 263714423 823138720 349956215 566166272 995213560 636771072 413651029 788962889 551907022 105355128 288463491 940995027 519910588 912770114 371533386 881466379 635936437 384152155 746757330 578654010 196442298 419009279 522416986 442134160 753210460 501624320 485254915 818549912 763111461 304047378 863045966 572643037 718114845 725581890 422295238 256270749 367282872 130620611 805645485 208403363 434335298 941994943 807656175 252682741 798221527 235429273 865768218 267677434 673961348 145133128 840672649 899448795 931813079 659465476 490391192 318961262 540149834 877112455 369886486 928314736 253883862 345901009 840968851 729123531 234817350 405289110 371654955 817680028 812191940 855099837 525833005 168089798 479770934 339001240 593595301 948142383 149290423 967031398 484048109 130410552 564941023 203325107 719581683 462612204 349434576 719923000 180109944 955037632 367243696 310981467 503667401 908298723 613972910 518474991 776096178 219194649 293687690 532627412 553154624 666617764 501302672 598981428 359407287 772817717 676750790 383462208 563794197 810284663 177074388 861095771 821799510 468971853 722460020 532418643 497053766 654915376 839819045 918406294 946692770 316862000 729261719 659001467 814879898 646300643 524721249 888705733 368135137 651848244 749300088 762841886 835625816 518146955 871990482 682622222 576249196 659653358 918398988 225794094 554666354 905650727 226875930 939369478 578795194 789882834 563972200 249495443 418706826 442278793 539225564 740742060 211727975 392060985 207773139 597354033 146531444 907700700 858628648 246399343 230082554 479566195 389852827 676937995 569928313 314809945 599699072 101622810 493254616 201155574 651970492 746031601 872709534 860941307 459221669 852481109 629613348 376193448 767522904 304798043 464035164 207359939 927367433 230523244 360386997 512854030 748693200 835881162 968841871 893899872 407949065 740909655 485134876 383220682 804167559 478148134 113371196 641093543 402821042 819209386 365730022 176874962 366153728 118413917 484569164 941699127 290188996 583807671 362096577 314685074 491493203 943456456 141301199 396732011 337060873 670263063 863405790 901326103 482998149 779679614 731839775 457895448 862386778 502897933 412220894 694356657 604927027 157251251 918508981 333839553 900757625 467253983 755678254 138969115 985603770 731931843 697315635 485821868 583935725 797585705 191625479 286516987 342213216 332487650 719631559 478629838 636008572 877971096 348586739 380072711 820195536 471443044 153412343 269654442 733010142 181737137 667349049 504529425 749554284 475044349 915677016 518796953 442482930 684776428 510274658 474838902 343873059 637814848 356195429 846566715 863933568 371871373 757691957 533211096 460755589 496909768 323559422 100166577 957404946 378591290 734846322 950046526 791547727 327443916 728087278 820897473 160592862 154551191 996566210 180975015 676270344 844761085 570488298 672983526 499483249 834511599 822841966 676950692 494622117 585625208 853624770 688833519 188021969 306040515 466889148 342991939 458728547 385900205 159262180 370692076 994162785 301304288 444804407 732224378 162847308 592318735 590744795 370269281 546139853 129870178 906529002 910450492 427628421 680417371 184122027 944937355 487709195 150651068 438867664 424500409 551599490 308351714 938585557 936098981 442265274 685048052 680145556 334624066 457020474 992609145 564535634 424069704 355408292 358852150 146142824 534562743 321078253 472295442 636191210 696592971 285916580 165532469 132894444 224620339 288572440 137344296 478361646 323690558 465198312 684880385 236283976 625694529 258765065 749164624 644170460 147672044 606667371 714890723 577425197 694528015 225899442 490148818 871086335 203936068 389800916 517199961 861916468 634375295 143853167 841131460 463843162 275062503 609762143 223215394 155459421 852382803 729276381 188873242 948211332 734583473 241584119 179356311 700562755 151742071 524887915 479083304 487739167 244294691 414902964 843428850 281437887 121082253 615172276 861821854 585527764 601540549 359504199 907057656 667720551 651146827 643335612 849003269 691165424 236632710 360686764 404090520 396021334 459628165 897559007 747841033 100813929 245468197 695921614 678995049 413858317 218671032 537761424 961337830 674779829 765293930 320857946 618734426 818786577 217924678 248962267 614602026 545814243 387601433 304593002 701328852 299247204 536598539 746191657 364399649 856469447 724529845 304889979 148720752 406774640 955821813 960897488 158400612 647979722 718331465 381091546 468771625 754539648 325626849 177567235 948080064 442879783 978258735 132748234 181617984 834437939 541009074 372545755 369128358 902686001 187275770 928991135 494435576 737109108 679699060 953812889 307071734 782373471 213307870 829587601 297152935 814668446 311253998 984470240 193887178 105568921 800328006 226976686 298074382 340589965 273442326 382243193 635882397 126428404 736164608 666840208 306877709 646634446 315490765 406419286 401425904 175277356 367447368 989692717 933270154 775614325 827751713 347780911 215538683 661502102 780806533 338658015 774819887 769092480 560967883 472444305 477722046 923250245 427454013 909565082 309042013 898116949 901034735 768535019 702683071 954844551 145641157 765745182 363351861 714446556 698706927 883043336 367402584 337621932 809795281 693214121 970907502 102529791 645662270 229233282 743184760 536247107 616416001 900868293 734879845 243218498 132800945 508411556 563381509 851686315 762776238 377710477 816726744 595889444 543134343 867993728 131187297 511520471 624446053 351690955 255894121 408231811 406778250 597832987 360870639 364167988 143825078 478580072 805721080 284533671 216069652 402196327 292814237 334489297 527914501 350203793 970008288 864309941 545930916 737763466 853443974 621516249 838088943 691313086 125087751 632399128 885609798 950305496 521752109 154458288 651879963 163467222 178015627 238028420 692659949 814502849 605092706 246928771 923767490 550583933 506423454 879175945 224226126 774967599 943393620 427227645 565978775 626683883 205513351 124679866 719512588 190651500 886869718 432672745 484455257 411603860 916017212 901796037 469039412 611993848 114584922 402755122 294539739 957746015 841139872 599577041 487492153 796653121 791775500 842954083 902697062 307763415 389542560 316024285 201144186 954716670 352409442 575192307 244218479 120129189 572068542 102284583 841376896 583012829 484790961 816265699 879623072 617238210 684738319 698426032 778439781 515673380 252328730 176267345 463667411 452961172 346649340 845730559 747628936 599595784 181578243 244884195 515289238 539983011 323505704 739646635 973974023 756178491 105119012 968997929 890052748 839272209 231302599 819453146 865454619 695716233 844825186 244855842 391386332 731011787 616388230 473050311 360832134 356243422 265729657 479718023 900192814 920213981 451095603 739886256 415016473 607322773 515941954 123837602 632534416 385879715 711597429 504752131 469614969 518385867 272716902 126155815 149619032 437671915 869488767 482786088 180448023 255008097 720514775 874180099 705596331 177041599 226897684 875743191 782397015 957502410 890955202 371454357 231356350 791097950 266962308 716127613 532024970 856906105 949794972 526707872 900680547 494390783 583977249 712140127 490283950 325007626 955727248 962626053 896387146 406884852 788631925 178737906 349517089 103593741 405602345 302227783 719922144 847815529 197311428 922249089 477062602 534134565 449403360 956894307 641379723 376145674 430629790 693874713 373908762 306488026 919190941 481444752 809942251 436456175 632588616 353863433 257083822 219501705 617832429 312338186 653920741 658565256 937764512 161941518 915759507 867465191 685929162 607934096 170337398 662476508 410738196 862770084 249402671 506077418 630141312 478141099 789306931 505504897 982558335 550469141 784971633 663511292 258844147 266056130 532240864 102224165 798171384 680576147 771576755 563436796 563668605 627360208 166884711 279652675 335432465 587643720 496951918 109129865 943913367 338873187 739951407 131217010 361956479 236356123 510781811 594257551 284840096 331113497 586708552 120741923 797269308 426485203 269562684 827196373 359774145 665418783 231377778 961977814 825274174 105986328 123674730 338825494 551797322 100173759 754451819 247422858 190898286 954286378 948767400 266996611 703414827 834880953 709933241 662787253 892363656 404813024 979598355 726472088 775710572 766428288 114697025 650397243 916233195 206102052 873186636 114017210 161228658 570925480 674884707 236176175 360157976 401368230 443973226 450736751 841479072 671630330 997134449 560238064 347960386 720394869 600227265 321324837 381508600 204856959 897436050 643162086 280177160 993474452 718155834 568325972 119285283 109185570 208243028 834263390 285637954 903010310 925450801 471085245 900917814 781487049 217731439 480064417 555409381 595708497 162794524 375649637 381584426 307006873 289465002 561937139 473959039 742575456 651421272 160774936 422934963 597305639 600662703 227224835 651045797 800772099 867785474 214841056 107190025 290119556 539863154 884291333 876080290 966773453 876984071 267975599 998074182 374086291 898728573 716108384 543406862 884967113 977592094 121049604 975220237 151733560 424549468 556661967 631935248 880337456 417822288 794100694 577385813 988406184 832959960 554664003 127917177 551351279 400887828 218217399 537205267 726602093 589564400 480151981 163727020 460947214 398569413 671651303 654086157 648594524 313820454 588713238 270027191 999272845 233327289 626963344 545378581 829858418 420659046 457308029 141297184 472872386 215286051 694944856 559190311 765274185 664752760 852825594 290396729 756793920 338202629 295787668 445206196 856547972 402220607 265820425 101957459 965610823 155292667 306191863 436284236 141341684 384470360 988216622 504166417 137796617 614311043 875854705 824377109 510289394 277965152 991388505 700378194 388444283 655895483 905466975 440103669 310999673 205687286 211522423 742190437 280800415 174439702 700794624 785071337 921319817 567178103 114115467 244787309 836458629 633216272 885831805 491771162 923812770 129850364 616398949 950489710 295990061 173427752 491881361 281901345 745171267 631497148 878578011 236311586 269770034 538342560 690001830 797347983 863848278 143910233 330177247 673118876 766163567 767353406 726415880 766481024 160474789 228713741 479469385 371592635 779036455 832833169 668077141 587815179 168545877 241838628 437219506 402766825 493846792 717741706 318216794 998144351 541132983 932215160 538954390 781745883 793125711 651183016 273566840 248286710 928665368 935522772 150270054 345488231 558863037 900880703 701776987 214246296 974566074 468018231 983047187 669446374 892762525 381468127 299187012 472177121 598981456 939356621 593901012 306599637 403966677 960983156 158946310 471745619 784145832 901591829 894880272 139091496 319485845 610890277 114171418 350748815 711263067 969849083 509514757 992258506 657547807 688587495 733959676 843337183 931856355 115932365 918221144 773766155 347818840 677507630 817267848 359246931 789486242 218929094 686031821 137993195 511215930 954521177 702132295 456499221 809568231 357630101 385103289 627865448 977313411 615886144 737394738 877660139 704211964 605010426 430492008 212277398 330597074 863971088 831556167 795703072 771829868 734580952 519766198 151000207 964096302 607008182 484558231 385687443 689213242 653589460 262213171 950159418 256238904 105723848 425655546 197111274 251064369 761657765 942200330 593029874 416830444 282217043 509520815 458078105 190682469 613412242 614361325 325809164 600526894 560222876 570261558 938186357 936343191 312256401 508116267 467570078 746200390 492232670 407998876 964850129 769797734 237303978 274652872 500137037 500976620 118270300 281498759 540018305 268763310 728520871 442732443 770189383 624905637 484864267 189492594 539756831 960405351 930138155 981068176 396511424 685865228 147826044 502909412 844709236 528945976 615959466 261690992 306305600 901554894 259034649 102916301 955937603 171348925 984980205 269911195 992563435 522954534 704652453 315582912 431538073 241615285 676033296 412230317 144328702 301833478 454638451 484670714 540696132 836775271 256174547 962984051 136609501 843296053 966646190 615724954 470126886 540173309 885179769 768462954 182682839 926183574 359028601 613942209 164539482 214844947 945869206 508238160 732561202 855188637 300497800 101274781 494562041 945151639 913836774 581108122 362682110 884009072 398156424 258596275 591126912 689779462 555651761 792508263 998604925 792856900 284485572 857011590 371949699 399178712 557648977 242098894 167394832 765453239 465645954 994621008 316101365 840337280 376132265 505849079 988160906 512670323 747700624 156468804 265864804 524436528 262681637 786993971 843071928 821433512 535823084 800645180 810672604 290919841 628046689 224324883 936635286 978312441 744998113 748414508 526082134 966829393 318176348 188275657 293349851 680073979 650983518 287618627 360290840 988423261 278132877 432130156 456007583 970255961 798607291 191466490 318916661 661412053 105680205 493413947 641832970 522520383 165999552 723376077 101487363 371884946 763538286 186151565 196326008 441199207 902282650 780656421 179943775 572967357 277483519 890974562 717400739 925071714 846558493 955106030 658838357 448067036 392031224 260122708 529919284 157752961 882846795 578763051 573274982 751680099 411040840 872717962 413303860 497852078 837110949 304643476 410668798 876440199 930757183 893308743 671422270 363723375 340879872 662030985 388688416 375478262 959821815 143496320 268331074 574701032 380998297 122913327 680564051 794679052 880819439 333460465 998413839 207164199 395691688 459839418 661588092 205596533 928266313 339135679 710702241 949177610 992786779 510558133 421494793 582623693 870922968 461861811 957586089 942079248 404883987 265668185 139331418 446677048 332583013 968881310 954050444 668843809 521490470 617148566 662153716 316281643 685063097 276143222 934600786 748976638 267166813 355659438 445221909 658380651 701648171 187511056 215769239 555431447 971133099 121676306 816562472 946472396 388625658 617331887 709100298 823488602 413732659 214880727 554394867 542891105 440413600 683121587 905650960 960430556 814127522 802493411 841867902 577478299 547893388 173469197 999467088 443105069 693426427 932751327 473476601 263422140 455197128 190303585 195830202 517540015 784375635 305560997 687675964 340141795 284744749 707111766 868981994 921781696 451783244 248182585 136891991 695529212 704978678 300034144 443891969 200997646 319121567 265740322 926176323 680543445 619349454 268988756 525633284 806202714 719857987 853240296 184841327 489670089 572388366 572377520 969117013 500626053 248677597 744972059 120695588 719692573 735263911 175050779 396970157 660671884 353834421 253958898 109749670 896489067 299786777 946800868 851972928 410894528 726013069 262252301 452936976 456134638 227490660 523305081 986890143 615063735 858087384 116115868 535665245 211010312 104775573 987046558 174648753 319148844 411554354 728180589 445283025 787548069 564424276 336264109 198159199 403232190 436964944 117631874 590163380 417565742 471663998 881284888 121815214 445158996 934251908 491712839 255652866 669748788 977678803 358799446 972615631 296327195 600104706 808467067 579280568 357534246 691648513 100202245 158034269 440326803 475832815 271776924 798095137 964587435 717780194 997460916 547056945 929295816 629869750 159362552 584451545 226082899 924064849 666859972 520699230 119909936 465651608 106979020 458471390 688373874 687313715 266802753 644591120 504366625 110832163 334306621 884580721 524320885 448865627 323719316 190576844 515020973 797596080 887346023 601245497 268150111 270232076 464704422 158857522 372719938 257780316 786321465 831864847 559733100 915760519 661010535 652993736 355714077 736384891 589482072 574943790 343130690 393601506 548867492 810969470 339987671 885266038 534784181 501624660 192060528 837735629 878627532 909432984 788568008 822962763 756181933 666109277 208466803 600606680 338925900 724013669 384414332 827232628 878439302 932291846 529389088 464208503 358385379 946574389 923006497 978499740 818168192 156106146 904133247 473918279 894469250 708703669 463995521 729876118 503114957 606104809 469585773 979839374 547921612 177328170 777684284 876692456 718094855 755162127 657424266 934192678 156635520 198814723 521933098 142009506 799967011 624992473 716829452 856307141 375567553 651782893 694697074 267247320 746379004 755911227 533369867 116824874 906354824 311640806 813614361 848741349 505142334 233652060 602052171 978616219 418776533 657218364 965097687 693206103 760021192 715676538 334105133 143687049 742796985 517549904 141973307 648749978 851898852 939565846 691544962 880481583 739073076 583654222 369181962 222395153 559623902 332014245 686727987 922649159 919430624 814053788 646600449 877654041 255484742 218822109 432873815 211300546 556314008 318924158 287719695 707846501 572732990 261242665 612711312 848714457 490696984 679156661 472490921 133486997 882007982 833596356 934354018 554016370 204945487 896815292 781862652 375988249 540017396 840674738 135476443 682188499 501573971 139184195 645694801 147846482 233891283 311924641 527827847 666431976 206659178 918475591 366855538 410030352 925076097 426044420 114339072 187303620 969076558 114438976 810681032 268459376 854268989 187812800 840313410 543972911 227826295 958357327 550943301 894519352 453521486 873220168 606650582 536680982 268314524 908778939 631337449 812684767 532295418 477021771 374120369 210179449 621106250 727155322 633982915 498830910 906684547 867336850 338486597 951838217 389180613 669262400 371410141 357496694 582953952 811160538 717519627 273565496 625117672 863821933 756475348 502875597 879503442 269876080 324737437 580092046 601875056 459420350 328890317 890062007 659902619 142783627 488666589 479283296 418841448 514773089 936624336 477217434 201115650 392557838 367649009 898139893 675135807 494181372 165414966 913753715 796672873 596802010 261303267 790750845 528200259 474018770 869854169 711990356 144475111 334197521 874846703 125697791 772410106 197314104 403859999 993775468 194927364 513306729 179926918 847029921 158403885 634894410 490015623 549900347 704503902 540095259 537984517 464741652 769305502 899815693 529183280 759451516 204567338 851626212 540686734 708730010 889235218 280235653 990601163 331898747 275711181 225565785 527019595 466907389 988068744 790935669 806612117 316630348 257106853 351543501 833678601 136674104 131430496 361994929 720961728 503198805 518100669 289776024 494685426 408713803 243755045 560750249 893813521 374141884 204542272 675932854 177960753 633827362 879677260 377110907 508811177 447061545 720616594 914707239 186203054 929851334 521293355 873212948 444823907 167199020 204804438 700535473 865612121 386687458 293029507 939082476 797894493 582405617 472310215 254048052 958337811 953653694 556859034 828648961 765294787 385486102 518913943 409143027 204496928 266457060 919962051 893340738 602399163 432175211 949568825 845544920 463432377 525340989 391778316 286401173 792897560 484323623 567189614 566116561 899315600 135087534 916366770 769484978 452497294 714194670 237082024 426075964 671429663 426237895 536749037 903680062 346448053 345060561 921569984 231991887 111330564 893701019 383401353 225392987 138329362 837910617 197793817 934531844 435942893 766954113 400932834 617216326 681511786 573149065 471986592 585818328 206804944 948631601 864126622 235101986 359463153 454615332 646772555 786846904 937169336 905414499 539123417 354564114 359468678 962950032 751108895 332819039 105699454 270593427 738690362 579482479 449659077 145881677 317432288 248426452 110942209 223720640 617594136 742158913 674461213 428111648 952041853 299130163 672235839 703315598 312076248 967136542 114726355 690543313 377864135 555167592 938075637 357752738 167924867 884517694 698512771 509919379 882290861 579116081 130604724 228899914 196442197 282399427 344178246 965652053 630207305 104728982 950044033 435930015 842659133 847100369 129491604 895338169 796756365 140465019 559598280 615846100 338002349 743489633 139935212 880264671 406500141 793245619 596129662 894422510 304057049 397520994 136692677 772487069 970099736 374477806 309006015 517314680 526881101 384326167 546573647 564889638 855529608 178173275 642002760 813937070 504513623 639656069 203855609 647962480 534969497 340064741 117793318 564849846 406116899 864175363 520072612 811211692 601651422 738457023 945244781 363904643 762116813 276228288 109685324 155922604 693275807 126319594 571070056 676213242 261010494 790622133 280657757 422935618 831766381 130633156 683332826 254318768 389161233 761837660 851202666 226016077 836790378 708003444 747224521 373498504 415283252 992430402 488147348 475748420 829148416 353495732 539090541 689942656 457892602 429207767 861132644 350211176 156214744 640058427 137147617 235487565 106027973 138651318 340249301 416390812 227247594 905171148 511507860 527888430 261641885 721354352 299593519 104433758 104269036 997486205 153721895 244713263 144263295 647604963 863917736 836693768 665050468 322086451 102606089 773215373 751101620 629792889 921145151 969006298 840188105 919304719 447776609 668064909 855356237 552452603 119872464 994816413 966218082 778076534 549902173 286890118 551969428 223293015 220848907 111610812 661161495 950170159 556597589 236379206 720523288 145922851 826239329 585631233 677546255 801511791 844130550 285097365 265593004 192315912 254080046 333070259 600558970 532601600 979133466 337343801 241287886 198233824 137543924 124811479 432854954 900962969 760017690 903788851 567210918 609206701 892739715 970621122 298279094 614418720 708067082 430298965 518185777 405339218 709149184 310809687 259350882 519428220 805713890 377019309 617812591 226883093 105645992 819741078 154156622 861288815 753731141 926275585 749699663 586714163 824007835 345555410 737131942 126440437 959261039 699421541 965457476 125925052 559373299 458108082 783411856 572071235 975315614 653904029 307807673 213841837 353257020 119775252 497163201 560519085 291547978 751819397 340836238 668312996 800658897 949404805 503933932 600268398 223673389 978941951 614860278 354984316 401708374 816016781 311525909 984715593 718913753 524049732 741537468 752299220 352296265 529678339 398890585 520642519 844471854 536388463 688081230 587013631 331299500 299484855 854838883 690851799 669053439 926983590 263987403 786343537 423895747 753613413 302281546 978050009 458467412 372375334 488500871 240177157 696156419 167741300 813634690 483274449 717210382 609471527 203265549 419165087 898176013 434878744 650407164 196162866 121602607 796016983 381732217 778973297 363476701 743621411 543673466 733262878 852742554 926854098 357827030 454105736 320128592 427808043 241282039 692396170 319415275 865447349 610562364 901617015 362574156 162574965 820982231 277723776 907040384 441588291 417298448 301585452 659684941 329869644 674308341 224455098 249129580 722525285 276560089 992265773 755449499 884789324 774930286 914977315 666524350 910291272 500951189 838926163 268044309 933185955 702029050 458984461 589589584 458246076 185199982 348370224 698364818 612079783 499133708 155549939 201600169 424582853 273739195 907791281 413711986 950139318 341732717 367558728 962632779 311723348 560018434 654300139 208194440 664092184 645571044 903081351 581447407 565160278 334320146 563112948 319060352 910641999 942503739 859495857 919608042 630172854 221361793 398247386 483375523 390688777 151134231 276315153 242444395 990993359 737751847 697789988 872842219 292155287 141943554 895165279 651835417 133623361 373075076 348573473 119569607 886590460 347068752 968442531 494305615 990249714 100514778 483068795 403718963 436892296 337277407 506577607 609560230 184947671 417656088 797145235 543519826 598936195 296138270 902711547 436390312 878334573 677412238 906055753 333022728 974910271 787191991 849693380 682904585 796413558 135929666 163567527 864000667 389676633 449935749 455208876 244047596 995616721 775557127 933399478 358159313 793470741 238223560 577559684 144267857 998045143 933575063 376568997 728647201 932798035 740880552 734998475 835912669 157024380 788956596 151175450 729068628 158282361 910421740 623483027 716796813 611931110 923529149 172819766 521111637 740418574 343558612 225423832 938054528 241866245 885757781 487098573 269670315 546114853 738657827 138330259 210889389 962802967 384078210 145809863 655209031 367878809 936650123 841230867 984910920 302321775 416845067 977566732 103285496 924783862 254208457 347931158 327728580 620477366 239334241 226459402 777919462 822540995 996665706 546378087 816221618 354768553 633677996 187212859 869036874 464538266 934399435 898008723 313223743 568126214 949498294 298314539 926390612 732582225 854591405 657570631 224017760 661788798 182141687 419380686 183483899 903779904 719240423 908669392 838898199 919060934 181972043 768885076 897000210 298889258 840976568 983972207 497815660 763812255 783955109 961283776 564824718 514160192 713523561 617274134 642496007 574065803 832617577 158119442 367843073 305117879 450088642 419340735 356469740 744704337 880069382 419711407 929093315 829176807 560668295 715294999 559984094 831579352 622455840 119409750 102382960 747634852 444489391 986238312 344730787 538953508 336936708 982106006 642338755 326376542 520930987 561935173 931518542 775527728 563092194 735821108 731415212 407251669 208973774 443483967 927803364 595285008 541762169 993772415 466160468 267847677 427623440 637128368 765506040 698280403 123919303 207414202 632268482 997574806 267589186 908899814 449433415 832200902 705266360 237977629 339793586 415004043 198023278 615465584 478558306 894950515 918473703 515344114 546908748 429131056 499090951 881327243 264660797 996094012 786830557 928701624 571823569 961496412 303759003 540746876 603230252 341736802 925869868 884013889 755468770 171370719 928548034 575209440 215693809 843081008 571970767 754300102 553030805 990365843 204732569 448497966 608908350 905303882 725978423 352550844 316847810 725036322 879750916 694428265 179622082 783901371 152539806 634294667 424857664 497345813 154178629 376518333 291558392 860137664 748375903 975763888 656699659 515366588 172453184 348427378 318612966 107895328 677460301 319637089 383449487 588555552 839370686 673621747 946427198 212251892 976475430 556150977 872064347 274260522 465262295 749602351 412765359 429409143 456512807 415368119 812181065 532902617 586457769 332058704 315489565 454481416 617407487 681255067 225578625 256822884 432500326 350948732 714824201 114409872 428491640 148025012 547351929 662637504 935467956 239214789 745640325 237715667 970070374 490617720 924304576 779892604 175096547 586659899 520952063 371385754 312290113 615082439 290668679 442208300 107288413 612530284 159687167 435862327 717493943 888764341 149605133 701537275 653078924 561595808 510207760 765122831 484719406 116299860 885092367 254550154 412644306 126980202 333809526 256193774 665771328 505944492 657392762 908086620 655156733 716886536 939966876 604455788 528087507 634977249 827784333 558079917 906008922 558798401 228878201 811952860 158528824 960030906 723638676 448062529 748410457 904521891 548858512 706326043 528123369 246887967 565417439 539387932 512983513 251160070 556607990 564052541 371640752 123462176 685696098 584467161 863997145 354725895 124578892 988896495 984372556 836830048 524235499 422667378 646450286 688293650 564996272 921454592 493924734 647180261 772071795 798147162 641557613 673246462 465253539 537115947 182134017 569193301 377560560 731852003 810816899 420394402 971763934 461966547 495187571 499721706 261212332 614747641 111191058 914358403 983517193 919399811 657059485 313844309 922031683 857136030 115264427 142162287 111772205 518579720 621544205 665986138 637728394 570127615 850504264 708291000 739093930 450798653 923699116 103590799 803762106 925804182 598321605 166404878 942407748 311765839 420798697 867743160 878055268 848284449 264407429 527012169 661417685 929010441 155550298 677060660 466297751 741317114 771131108 293931360 360593410 648212540 194820953 236854993 714828413 850079470 828367215 860372802 441336603 928076541 364802630 559943983 433872310 993029966 351112982 134570160 150020735 839079314 924453259 418750996 958308481 184323339 709112037 683285039 321847576 235102009 417213300 571811931 752490927 497762239 323631878 170769325 888306928 642080390 805560780 501902421 426717656 818029554 487881115 355697176 708341203 741600341 821891937 584467967 971620512 689841675 976236212 310231946 538657729 161842413 540262978 830980053 195669424 928520028 762300906 384581381 835110649 722735420 379550110 975402309 587388388 968639328 141845923 749708079 748822062 174465896 866346470 275554169 135148822 569260308 624888067 708275790 615443156 728997475 608664719 157044514 757282615 542223257 685545922 445324969 913523943 536378154 582973623 801809918 667569768 698083512 637162105 354412162 423188760 570055281 905319326 552344154 797245151 820743642 601026906 434335429 750870332 699886776 209163053 118705859 270339269 217215082 681981141 575979173 843789664 235407615 515910992 729122701 467814562 777669037 929325922 385508780 364617850 722336342 473417992 116106372 232798872 442241984 605656353 546394089 284078135 656883865 228714274 506293886 482923239 778202428 112854168 400617978 613131953 478162941 321405258 505525195 470520355 346622764 825120209 420150292 779425698 500882910 423327772 660292062 998432404 620044530 203794707 902179854 385887774 671037123 233099308 992727654 855967748 880336922 170589206 950965863 520430175 709522138 553322280 289922362 823743090 767021367 123738717 724369576 662575514 918331559 256048091 248387656 570486352 320709561 637499151 843382953 717736648 580038199 304175244 475111534 750679499 725632181 154080053 657586849 368229615 194240345 126321715 564832669 747771885 116430560 205683154 428523435 151444653 495725488 170860672 498736451 733438444 936144417 939215994 149205887 588381902 690517396 904884102 581777693 519810393 552453608 457003084 267032642 271496661 818936926 814206079 385687540 633034349 949697285 807336953 700788027 341151962 644003089 313686283 752376532 925133058 602635592 878802612 334742574 941161124 821079032 296266385 755336975 520193279 606683573 292405001 793809954 549623167 926410230 916104348 663540768 763705649 861442227 635196001 957305498 155108395 867053619 466851577 910995783 404786498 537643609 251661731 628559530 619653717 145017505 597674819 678473464 309199643 387050240 139321245 564228426 510324680 988672319 890738435 329229552 377897719 860781602 383149803 980351320 773754585 338168755 908523576 854577569 353830884 821919221 609280737 213660292 443050510 284804948 236899721 813354891 120835670 825228885 773516468 185936618 135374892 960473283 531255757 804285683 236264395 739104479 696778826 596318317 962776008 683131031 751084244 664897018 535670650 455962246 423970133 555746655 486325722 402974142 456309902 755674416 873719783 840499197 423856792 825165713 404516559 398428906 976391875 157283653 922862899 652228951 440473252 757390256 305982758 132182721 878915500 174479489 892994583 571505838 654745487 632972372 394939462 438777714 673849524 494576707 761935575 941911017 604815328 101051118 963451886 640048254 777974388 204673280 310051064 537587093 328492731 701819043 990157380 796724209 725234901 150281143 333730520 602188680 983206754 398390325 380317700 393738422 855909453 749736474 488567990 381886307 613539052 523996592 122662009 355439116 216369697 860197103 688752247 827530167 894823627 262058159 646354995 410377390 298215375 419537461 790520908 239841225 366910075 521663744 463965468 902651618 231781176 933404727 654035414 906370100 650419912 835821910 126707640 404403093 550511594 649554580 958881074 241797375 981203946 664222909 851542701 605011862 215910181 700165846 861214335 459736007 471398247 951280487 692632486 378183491 240837698 490838291 217883264 459215125 243533721 256349200 665679549 595164831 894462685 996914073 322482589 171536552 376741952 482172187 181245244 275464009 605528028 767283495 239510697 874788451 968818129 322285074 728109432 228242016 674401452 257688159 380431996 734705197 977775376 147151063 969941108 931604438 875426838 651186919 706619715 330787034 697605139 675509455 248427894 782812656 992785844 354925314 690306740 567600127 863742838 511509402 818249705 751418048 381257117 882280577 770648516 703937671 537626185 122628527 577673977 542493325 131836054 542840208 665273147 729753654 362991387 762354509 199855431 891460481 447121110 651420330 281778257 687971586 713070946 153394676 219001204 594924753 434824036 719967671 976962528 718176005 554765349 421341820 309435083 828162086 309838645 845575713 316182812 807421807 628372658 429718138 894667349 137324212 812221902 755159921 704685221 648331915 506876898 865437112 987229508 942726201 572886677 550989690 145811986 516173657 162150453 247260625 834508026 895924370 757567296 397042196 532202523 735901956 455851809 199257518 656388621 946199680 467176298 401266938 937710402 971107216 700647917 559141261 206007773 419862669 257067012 675190372 541944959 612368607 858821426 263133299 196629306 120887902 538715794 838714510 688309022 847027825 294644514 249743392 376297204 327290065 215125396 155423893 867707012 913441579 759046520 380953191 431464979 638722944 943111180 248124819 577464284 808863349 870108208 136579878 254501986 626307108 104283580 207650326 421498568 985510953 647696749 702947881 282797440 811218475 513000802 304941509 987710746 267860898 370235089 715297763 843536814 859851924 915132222 408824892 176522582 684693572 939638837 242486370 733948192 122441540 489383319 558333049 140112779 669787266 425213504 725635797 122677772 944792721 651142731 580665358 936403154 460884426 177605384 879542990 682632625 115353352 903398647 880528266 726047009 455089986 610663777 964523054 200393676 820627719 105746299 859655339 299194664 618549488 681843292 305499972 473208425 402226918 485121872 713103560 178441696 316254624 578442629 349949807 286715240 604006990 825014532 484354580 396877111 378474828 213743467 495057809 768162922 488548852 359313719 272570551 755076010 836389797 672642455 347831295 733934441 680375518 196230813 106628307 133490091 809196197 959741988 417507743 389562911 756603817 436336271 232685088 485568277 464893256 298954949 106278163 273606963 217389441 204060226 264580156 687080737 635773292 445575290 436025498 837699469 410187774 322626613 552986838 833805359 810095639 671038107 629947007 807540367 590567326 933816659 132934659 973464744 993834619 983122983 376146572 682799148 729153107 168570826 930906578 211268522 528956303 944777729 286262335 933740191 671020915 559355387 669321264 168491316 275311498 455319866 316316596 407968332 630277433 616181899 946573576 571746602 102410084 475744457 171849473 425742468 586766052 989402891 458416100 136562426 722125122 390012631 641936379 594254060 172915910 898477814 857628835 107272734 898454395 946243804 645314177 916985268 814642225 308854886 632330752 361497885 636770923 990365164 600076560 736286213 987627324 125538854 360300254 697557757 165051110 135692520 993140847 574117569 232211245 853447552 611716698 143393072 266872699 973585691 341298530 365982340 554239535 943149590 997479244 566101358 940266265 385474167 119702374 778228614 267396076 387434104 834634657 813197944 981747856 282153813 223435267 770052938 961828750 346371853 329102165 442908913 478202029 831907751 964879558 679440136 759224174 168165058 593446574 746034181 703986673 345981308 660664791 271682805 364607656 592041083 566560158 948131054 718604660 320903038 298568962 822538655 881780821 123739258 652134186 840909257 524906085 213592064 891832122 641385951 260787344 730166402 907568816 370414194 806695409 278635251 377330526 311971682 230923541 892395049 242098151 432945131 620411350 940398990 310337130 649079169 820179784 515198845 243757547 675064094 953241268 435738464 294895664 261375290 806276691 886966425 393843042 841053961 480075318 237908061 957911075 939121317 647090265 356433673 843277919 725022922 144804058 374118724 935929929 338678545 455188828 474133494 783591621 543749888 522003795 589286472 914012868 781245546 153518033 325046062 982896915 184912504 491923727 970274623 808181229 277160430 376840789 606728046 854549547 998643963 758076259 987148197 834015913 730989435 272457111 533838402 812298286 594426019 115862600 930719374 479434549 314630140 133932909 975067827 997640084 840025413 360492252 314369427 505495750 648015000 661596955 719912625 743702543 870457061 411239912 257532483 586544912 586521019 479183922 770607945 430545451 808508655 761244754 952253616 997903853 749888453 390588383 324741353 560703550 502709698 389517226 780051081 282022322 281206340 932497253 310534107 551371164 621985739 655626311 608392147 608981403 643359723 454791456 868328660 619500434 117132450 641739716 621446219 678512668 136158888 190664725 891323055 990938989 842140958 129727228 776907333 967733675 953289789 828746717 204441527 218741663 148729667 206161404 222027582 750207785 915986884 556465761 746610419 992058253 362140057 217551523 314632932 788096353 969339453 815078970 357138418 973936496 647721541 737777354 528427719 264098656 238652049 768456289 743813866 514240761 171679558 460442144 172013975 177134172 185550554 202983031 352391033 736589675 425277762 229486669 499352499 891193559 368188556 887310908 172171653 831141266 319599105 528625835 562901511 202122992 521007203 571715451 174690740 518280331 468726565 303835704 216574976 492695861 735373778 695746750 717657438 237644593 330896512 156030457 425470752 562535895 673274278 342799364 804503223 546195296 184997379 599912017 492786110 313615947 843855627 596437393 942102997 414449373 152776698 652974266 939437899 601158715 434237583 421830897 741100298 683444449 704648574 249619888 962684126 904818418 638429675 987381726 655360400 342460606 279890046 172533428 443811589 727071113 711306972 859878083 548574541 215959950 710326091 650381203 232012039 600202901 119542174 573417888 128874487 943828401 115942965 734229199 125941675 700991812 234954671 694515405 232902287 543408158 509855892 882255718 425829728 437418293 572719692 220141062 704323070 325805100 293613390 271474431 251463787 682539125 375950491 327378283 198724358 108373357 695334927 919879877 554427878 337989629 766284288 805633455 884305944 371800863 966444277 859718617 643481583 951096206 166380605 394622006 170674324 419810711 697381972 787749374 617131321 543349425 496918627 409288075 253652556 865553392 804059059 889192127 551419929 469114911 198892342 109129565 947002335 487778188 511741345 785434065 688193308 986293252 514058383 435879810 738813587 883281107 303895834 988097872 168738933 192031550 760395145 246372492 973959441 694107223 341554153 162344457 880087191 603995300 398242919 166387527 168651071 772625098 816328911 888949698 201986018 979461795 931993310 564917702 708358230 241573127 552765039 864835661 916779664 444535066 745108252 262964318 455864064 376993940 527423917 899919698 573987568 912269474 395806239 516580520 282215585 836975958 792419627 749036692 766953029 164656941 688993837 192953848 808978092 201680240 716692535 715896137 381759861 802877406 650687276 637415884 875003793 828688089 878660673 419170887 303105449 744652504 642579018 134990099 942012724 279010050 234901572 696172793 284424663 976877322 538687612 855126088 731770816 397588900 101259548 765378165 567922882 486339094 277363288 438197052 331839354 934426511 840985250 970930333 270209354 958745531 948615714 509798341 175278132 345732261 874469256 278431130 104485049 409582211 706253219 232100382 907216071 238536528 182568541 719481302 665069082 366491765 280069599 794594492 674117771 535396719 131883647 335785046 836731836 670247071 966632034 524491226 722869463 779424227 726857799 919120786 433984260 257681558 251065483 151584185 720698709 153759095 808370810 159488941 942884347 361595861 733381859 976440128 363602070 807703221 481135605 752194508 142414328 503724346 985615924 865138361 293956257 795404285 384242984 553467723 167132190 828977537 209674808 449688592 940031443 279454078 905059706 727515022 978024480 762902388 515461756 308824966 527596895 874261196 564998436 659611252 337345249 443176589 354201927 693190156 528798788 228812363 530168909 306187507 408004414 489380572 168238712 460789016 106907999 809310487 259604456 130114836 404501089 761414499 779164844 586598729 143773114 764026858 640420991 137127782 254003509 888601689 526154883 336330289 547868280 943099712 268113130 979817483 695098367 194332823 508460979 346894876 434043874 334283201 889856484 536874751 851299926 668400898 564795553 807023275 599690909 934828554 700364748 881883897 496803747 806821121 803428057 700849654 593531927 995909802 783976922 597297117 438179648 219057289 685673622 283271556 709636002 308777416 186476112 167993619 844813270 171573364 282935500 873403222 317420356 552929393 106430225 270994193 934637031 870009456 968891734 630206157 498363813 417190946 421996725 177183958 849539231 635282724 518418092 196863975 529941928 277516220 601606126 606650602 980073694 859334375 511413364 179287479 199530692 594532154 292102001 856245375 580039103 333707245 767375764 931366569 580391854 908701071 640916228 712833614 614027273 884446699 116440155 627059051 781713167 713398981 439245157 946250387 966665710 937853291 829559780 241102088 652687665 205119581 647012403 579559043 374184374 607097642 494692260 964556473 642135584 655145697 708770500 901257753 960257738 297250322 153242421 942621071 511683514 856055428 729059488 920861953 205952523 430659352 256823884 380222523 541810044 394061459 957362552 573118846 964458834 321205451 108292323 210416011 791820007 642768682 683051940 425185660 225343562 923894229 268822588 400438968 986096603 106840083 526187751 404648723 781488785 930810661 316815757 845309593 508937661 833332344 852713592 513606224 482651832 577224367 658658957 946752254 972959548 866818555 633605898 169621706 353147549 704810545 676044446 161412683 557414649 130758467 536485649 986021732 305682978 794522765 608401111 804555088 688250786 906594997 507687968 263743599 646697600 894948104 447025463 880384151 949468510 350452912 397010908 148561056 731505985 544541605 586715877 447692574 199683852 587896466 211488684 218038519 326712002 195385710 611946060 148162654 457662213 988538903 974316778 316486889 599032845 857605747 989692716 451289480 622244893 262639502 248209267 156250869 674006940 302810595 921149503 547759706 457284245 272940207 332643415 937404783 304204249 530763062 100748352 984490467 605207059 362269121 760944251 254431604 318530083 596140217 978689095 271781953 104058089 408913380 575642218 255213822 372637320 373920928 739898456 180979211 573078637 426589360 243313021 268627540 452733076 978267855 693485282 684752036 326169677 267355289 475787402 312089043 292052788 708980280 299464019 604131788 995116092 279650134 438943909 846974381 338946881 852129372 129889777 376108582 928289992 993898370 505235608 626157089 160334919 811607264 585894378 685669885 198428073 972916782 742853219 361350366 740805804 169629299 463737609 606307675 942517011 365913372 109066587 866044154 254561677 391935341 198773458 348129206 691719650 977424705 278507481 856778438 975013053 237369161 908785059 864710442 153678730 972505971 675360654 568992134 408284677 198195616 521352216 393067921 199227839 395294730 252093427 999936224 685126695 788749957 647837230 814463765 351424682 147974517 979083460 178006179 163731333 473300100 506029224 693221119 155069761 817352132 905130110 733697674 588518840 577027469 228851961 432140199 417547367 321156041 435976875 995279127 907747426 626394426 508182982 361259032 379791987 928428690 596743618 173017598 137917391 125197274 705618217 601348186 313277192 898900857 702311698 520271537 643153854 350224149 519985089 906594848 191692622 145743197 278497562 581362349 780530910 970870741 717072148 224058884 534076476 962430983 542788207 206795702 894691855 776228937 717291558 933567318 819499293 450536732 643005407 955083739 838018744 567881224 149243156 794317259 470570177 813579478 465704004 478693921 248730957 625078611 510417189 175694422 349620879 844649738 372858360 339087657 981639148 922865597 387617204 968463324 626810770 919236920 271886048 830843740 495018889 847614429 346320975 887153633 373724138 487705489 250165781 154402994 129894126 581991298 418552599 132589771 310725508 289782377 177152666 270178595 915086222 812457089 613499439 394088918 802687162 374189383 238143686 835639806 516842893 882101307 933484073 760623885 670934635 974399896 134616766 227690956 102036061 144888803 632865778 999142659 557865433 621474980 964752562 804857160 770541016 234556256 741441344 147264243 275178884 551093950 799048157 678226336 754933967 159947229 598183292 143985002 268818551 324838197 445836778 423849356 352459584 884735014 381252052 278388054 258729526 392629943 455471265 394855706 595315790 974084789 421063487 507564882 609118890 741620309 262236982 575880329 799270283 674036152 363841462 593761644 809751827 513904837 678958263 861088541 828753670 329142400 511595466 550696474 496330962 214111634 702797615 658437779 693108602 415870766 917220966 827582749 327100781 867773667 650520963 982335805 344535854 854626925 412414610 704648062 210041384 615753023 892341970 500724760 127518796 369877133 569011182 565214881 800903668 176590352 872771870 168759730 559606381 994281569 851652973 355118818 944517472 554304707 436667744 399985652 437582267 997624845 175817727 935285699 933926151 673395181 879694929 269352095 943884690 880925914 103657756 698961764 290656962 414561575 579280496 972027842 210629565 944808240 631955219 773337247 276081235 683849308 900891034 953410848 713700280 782273077 934869869 820427191 127779674 498396968 574815402 235398571 698715036 894442441 833636897 180855865 506539174 807750498 361270548 931905218 129797429 348070663 951207866 736150562 866393086 491128702 765162496 685624970 622117324 670204894 686008896 459057392 413227904 323193342 193883280 248398281 329202143 886782047 349667172 658530366 855505454 140366606 875860455 835378410 993280897 684440843 366825270 888379103 767579078 410242569 272997845 155573855 345208053 135831664 396588229 150286923 157939795 787942413 831090287 993853999 256470648 880533058 683017411 475388625 640783878 628821181 446772322 860145720 304490647 863264552 905528683 724325617 369965065 788636664 138089530 626418871 735972794 575240423 629198586 658147461 947142118 757548488 230912293 778634197 747668905 822386262 571956112 552030477 576104355 953820010 852631760 233821094 366986026 569915275 547576349 962762859 938232892 753770144 397963095 966081455 468055224 854744453 258016004 726228811 805593509 958978735 324745693 592091231 901758793 755903217 245680800 702497872 374505584 638610305 932721659 324262781 422727368 341955926 561212620 682259088 119638216 282317884 775172523 477673330 116618869 355798855 921287102 876091228 401222935 432980354 566532985 340646126 798569631 577885223 456023005 581747012 905930055 890221702 665132680 502400539 485735610 545714687 401311932 859061976 996414920 375199535 552919498 906049317 171565148 331105460 774883189 351480425 562746687 122420278 112028447 113569314 748014685 482832816 239882726 215529889 250277012 252791223 233811896 769153883 452905126 681717551 855899696 261658150 463972340 558111998 169013423 654983627 889922092 689936776 320315449 537495950 127819819 368191625 588450192 631106343 692976139 862696629 815157087 412391322 924621008 919326761 165917918 713704931 813780358 354061614 249188475 212830076 338176382 969814346 612870578 842778145 331947302 969012188 210592381 378157553 356492208 261929158 683522986 167656955 550161972 789561903 125636095 219112109 877472255 568152773 597636923 901375063 137256642 638728928 379761596 355098028 367040867 391391918 407292943 272367274 373679719 380445880 343842715 605120085 379528389 506796081 615828289 178548537 355527664 204231568 619023929 165092307 133236998 903843352 432004389 356046145 970589412 596339785 421138625 963696462 869946214 854565163 852081972 127526654 207587838 335938024 418515496 477397370 602688245 671262248 141931503 886680836 677986437 776477780 695323725 358108309 732259929 438539689 784459866 974900718 306485607 929421058 485387069 978550890 559409441 695312365 227905354 281942513 218334656 556427002 225156359 505310163 833351744 479249392 961599640 165945958 394144567 706324255 689154345 757111665 571416543 552270187 803640560 158983582 508117220 192602770 468162100 705739333 999644049 379980679 463361819 789410778 106425714 769505551 118923811 717708592 468437426 794974911 273280416 303014541 454957718 714752998 188367775 538527341 687129307 773929224 978067648 145452726 303395859 729407794 801064027 323472940 530290320 207062483 192378385 149754575 645989659 202294077 696016441 309828480 804383019 270207587 712806257 346573523 148134937 325295360 231579056 913073555 980393424 187883214 714950176 120815009 307470388 579626207 921486632 579733828 986048826 163385703 856414748 578672865 452678286 185592761 962996844 378781359 810172479 421551133 424695049 600847116 139469570 291136292 246356113 576455726 266673953 606280600 237992999 248210305 721317574 928383679 666873193 958223328 587715023 117637386 885265933 916120575 515217442 651061045 498866153 680906209 883189908 605595850 192974847 855432091 864195467 444477074 831810341 885236969 871638112 719023344 692434474 194651630 195035641 174445500 227558916 840037558 400324073 692749600 297319692 175388862 464040214 360141730 889391655 373890932 907373413 396163651 338066051 456228344 438604794 296275173 967161387 450199987 962251451 566903289 185272060 687077939 665073017 380855905 304374703 927685521 352599331 161895372 323966572 866060846 344706686 318926817 131462156 326217821 388538127 844827649 761480776 786388051 391920044 296900211 458225665 278959524 753773984 223505116 406539562 950875179 420253102 213694345 430282453 724641249 604084673 515238554 589402606 244441562 265434207 954867479 376027606 257810866 244798845 811877177 234403281 604272021 244187883 186283787 379242081 104163933 741251898 790236963 918606241 286143242 318225838 341764387 432385642 614636179 602569621 958441401 598095140 523856411 354190479 574700607 459680922 823665591 979844122 217421403 294568578 660695515 931290521 232679839 399154006 199520128 208860853 515425567 858535803 267129809 207224095 513411686 914740940 505266427 147657430 165448339 467863332 152827919 403169671 845735049 316700713 144018795 817441200 220803586 310339015 213136463 251689417 148101708 530455874 570656970 296940973 821489972 114109419 827053027 339831446 212379916 133432300 905579198 353539136 791450082 651826614 687512309 794783761 244317490 183297182 699074173 349837222 620980444 770338574 632490046 426335847 184890044 528073524 231801225 299162159 559438829 672862342 709893632 400743476 464387822 992858503 202295327 898052474 378440409 647692081 816582356 281685564 672102027 497901522 857139474 850319058 139651496 755122355 924903733 725451225 894111986 402187164 866672117 268125059 657174671 968251905 372290389 215869202 989669303 180161516 937228076 153843216 944010998 924437351 607854722 361374224 529686648 721916915 554417577 364435887 978435923 118085764 660501450 913555317 145240452 695218223 492832133 170824599 132057848 978968324 300496814 735140611 961525129 978613959 262621439 326314479 160516410 732285896 827859332 254553616 254153967 189167175 380558446 734686044 783364428 877313228 643165557 567747283 293949771 438641080 415179711 427281549 146933976 217805063 233210535 432936865 652277262 127247521 992470507 801070960 625669414 100895296 130491373 992870263 675799189 847951951 478299310 395249082 831245854 312620160 119420547 111377990 152630984 718185586 413234871 531883347 333625249 744811413 546380640 809107378 133885788 922040984 734179977 533896489 873584441 996660689 308904837 878426924 477474785 325599885 678979960 553635979 848136311 187717500 576366908 550815466 916614498 685599875 203811617 795522473 716225939 904113210 382585457 382117485 890336464 937672856 656805832 339186679 505297165 280385881 549382896 147441397 722249734 267461893 857391503 257854927 215290851 222020833 881010398 825399174 486054199 263669366 615619000 638519731 222846569 559868665 756049477 833339951 326479859 336263063 540556736 296500428 903602386 599991887 882591221 820073781 137019742 922875285 272268970 182965128 908969422 773819629 816893096 546462338 348482343 949854820 687061452 998132671 659611293 446159000 933168696 309895251 357073525 638323194 654128753 841566880 603827755 876093353 844583433 104524427 162057116 218019250 559684947 361660196 555222752 978788079 313942377 512334159 148693066 439111928 479688494 932587608 888778688 594968259 539394535 883413936 336747175 392903436 128288463 746241418 865426302 302193229 972667522 495684304 111021035 895181406 826472472 402736661 989943903 394329691 996566284 173776113 188698916 804405091 339798313 873601929 980062569 789803793 189036400 429539540 708506547 302018583 920127995 213934522 949887551 230290199 236724406 961476577 895663058 377660970 540757745 543100638 183700387 333827274 925386582 775645453 927245721 165316838 686372913 350333935 354038189 581536813 972710205 864981285 662418418 947787072 309585737 948742834 425933831 245429974 611915567 963361792 383000566 964687084 427972625 853905958 931105002 419556733 895189783 224980625 349161149 706671854 826029069 492291977 145445178 438961891 571982890 704324628 523878632 272682110 999150483 897032312 566369566 147135853 112398700 953513615 780612581 714951087 755254528 655716512 882281662 202404606 312536284 968484533 885489262 718719336 600272314 609480365 485446529 546262105 867328841 614074857 654020277 419542679 515703395 747199448 827049081 414983038 970377604 840404423 581022295 298350845 153790596 224603842 544335158 362453918 273722229 864380419 511703938 213604711 756930193 191761664 134008815 520005627 419794729 100906180 834214283 223152813 272894086 710221897 378743879 675159281 714785790 886973342 112494524 805911036 707558050 197099446 228901237 131743686 609317726 713386823 601743775 532135965 770257638 177564466 393759537 932946850 589357344 478308514 776132190 896944791 198465687 901470828 112321239 820352470 333402821 122690936 618859627 746978823 806165969 729601613 151598837 638740414 778602075 295857776 714285882 342726693 624243327 608557665 314831416 839344869 643306050 140073792 642574990 817426306 291359421 335460599 669031938 833567043 471400789 786075974 768585590 774235862 439895891 524085892 575617481 338112956 296088135 790670976 116066046 890380261 419941913 854669210 769522633 498456245 874895564 694851975 375161100 257619587 997466568 320481465 806558327 941843726 455502042 923823942 903598961 300903562 581520258 495722923 845417513 678608531 759461421 818182146 968839389 613099558 831453842 331651446 356127259 193946736 249268678 439065755 634989321 219839485 619956261 113936583 401190405 287758925 400730115 485279048 673065906 948328358 340683815 696308441 268872775 752706615 820093520 328770590 384939393 585864925 676859225 816482964 492014480 650939028 284406902 372114506 590774779 945409715 498468315 403474682 671822854 842310830 124934752 767457962 760355893 348288686 807653068 317202706 236804968 440370644 264297496 130946797 199184958 173986391 422015923 823365259 680501832 369342879 187329223 131406371 254715246 801344623 594754883 555612400 724283939 172948078 159471813 212925486 870708824 789363211 202675286 670414518 190810830 532459952 793635991 708664102 455381784 691174308 734880085 904393746 131050256 543840763 443114885 634149537 791301550 210605050 983437148 409247545 784312937 370720992 559087258 737063818 157104583 181802667 821153357 860834863 456804134 790035828 692851536 882646690 552844918 911183766 118153157 218057857 418528774 100066543 438510579 466311301 244363670 126027695 458286232 861704300 865646392 862709680 141371180 402006796 282956200 834195658 250921063 802035790 822599699 559804707 667672407 392718196 918282616 832738212 157739693 548300692 252768406 548594733 909832337 911756858 562853995 705728549 985323319 830659311 959759330 729423655 278036697 915281823 762893029 180726624 878468559 504186581 611330911 122334266 966353983 351558336 993790174 670870613 195891680 745687325 741919568 528595268 585510455 629080528 309119118 246809810 103387516 679501963 546094311 814377896 929330570 591366274 879429417 297727415 874065444 533376564 857356587 480643330 500625783 298202484 517561855 810541753 113020652 354285000 284555393 274691091 926030143 783513242 494528429 855904901 601554877 690913052 833761745 987747634 758202240 555924612 671319370 314016925 379298183 834465131 143626345 987234259 783645073 337012670 495425080 995225119 873395904 333555076 870605424 452685225 306302258 380145899 857887041 132418761 975215035 650414625 543592579 430250753 233013968 404721258 652056194 890771276 494879499 918749149 738658617 354498026 144863120 440234733 904459386 446028874 705390299 266534378 489507582 610614076 857489218 298452277 770005705 707919524 329347457 507154763 284056418 933440339 632334440 694343912 612753907 542834862 826095011 491746699 958052937 986972748 465017451 788403147 582757105 538732783 775698986 265052019 463968318 216406058 515876002 235281748 186367911 831211816 200203279 160438696 648354630 909189465 691819459 988952997 173960580 371510639 753298601 192739462 631251630 144530152 839205072 320949322 178264430 657839881 712069674 523524916 520439306 528430743 794331418 276840584 110687059 330625638 111185308 342867446 309696388 388260302 900164880 334710316 679189428 841204554 446495202 966971831 677039662 416911320 529003153 284571149 627858798 193580049 505973366 560050974 286083699 281252889 842001176 840437049 518879759 691754162 524792974 571436121 431587315 270660086 222663324 188901754 361722408 152764011 992015503 347198973 366496900 438213773 298971201 749663877 390754051 216967497 189943818 555200930 878395356 834034467 577211166 686118072 596963844 690283560 686366062 426883878 569522143 631492878 372324104 501197374 130454291 616237416 216627042 636166279 743242002 790928225 599449922 797495638 632148622 204252555 501610006 970764952 183756642 872607559 897350067 776490109 359783461 481117401 209427709 397545638 928007314 461033005 269481262 568736518 900717113 495100312 759932391 383091432 845977732 902470037 396582122 657390089 747613462 405237569 720608990 648350902 632607090 500095159 122945986 316240537 149059425 596857964 637895953 876192991 989306466 314434236 395422401 672663354 289719582 369342774 614147911 448352845 761291238 378411325 964542229 311670154 785997136 187738200 478912998 963645909 376525723 111309726 889445770 390794460 397448638 431289417 476805366 391049075 765501337 752455582 825586218 692365898 542875108 394568356 368173616 234662357 747412622 753658782 262510511 169811883 378121820 141214087 942203961 306090423 476224871 394237682 713287657 787098055 576039038 693543801 852033441 283535631 437401924 223858499 459550839 560729654 227851461 669376080 842141495 169764581 638710704 300623527 923122867 454222226 577096511 285125303 925267272 167076446 626537005 668698167 735439483 319516126 301271720 216604457 301529999 231080586 538654641 776659978 964982175 647165355 123634993 780310182 663203721 735961428 532515359 501062637 996587639 207253762 618569393 166063269 755537695 113264562 283855268 646085070 205469232 472085296 396386025 766501616 714719577 665328863 269771583 312420123 362257924 585656720 910996271 307456418 722350717 158846435 344738510 259176814 369789916 414020301 541402743 263445773 649803775 614091765 359616396 797450173 431883527 363100746 970381453 847667208 776454967 143950052 872134751 438651112 224519567 437763683 370693478 880826728 812144986 367502293 316478548 289054597 753144643 951530462 748742581 297218790 452751018 833392339 999465053 588700296 521035442 107178635 847575667 443492733 484153193 884445056 908437527 972629872 944027948 686349488 252208450 371536259 528276368 311248563 524430691 697163243 462162089 443255614 397593854 150465330 834369454 236495236 205576018 111476158 597862775 770734129 389696412 464449391 565011863 238303627 109741445 843547528 508131350 723046333 920431257 263623765 794436060 962524689 134271879 212658601 764023113 793317287 855785994 273377449 964017090 991454644 134603419 925247203 661159700 597586310 903773831 830970533 840613996 289953931 542644114 627339477 577507861 260285369 732419545 851837088 485682657 442093240 514065366 385433056 527018928 371623171 522648313 548363037 583400487 802878859 525468855 407414417 448335100 201643733 255594659 651488869 600366646 214510366 200927626 812990972 605506607 789540987 616347523 850992642 104836947 514100610 679527025 775258662 356726375 256189832 879399829 718798206 655796995 747154069 514394746 831717096 364916037 242828704 155762851 896661358 953490441 366948365 116171245 420811122 903072300 294206184 677428567 121020258 177640011 889036858 758351687 204649347 769915349 505704753 698845747 276500296 351420258 104556574 558553725 513220934 315666693 306911460 845716321 971439463 531475025 260995373 664732276 960102747 471599158 969948765 629891729 826475536 536436415 449979422 587936764 899570161 621358667 364958149 176178186 277725175 960070752 859383102 814140208 218174666 330064895 895473807 934974862 879782437 415866936 454934845 341364068 119710941 520065930 931317302 727944526 409295949 679018757 542540105 987824978 143277569 779030837 426229744 968964538 790728903 447480438 800401109 191714856 515517122 891588314 309909671 201367065 352947813 781390260 624422200 212707295 585380162 858207780 329805891 991670938 212532298 735120907 531412292 995768855 147360036 982294105 394671991 887962763 135889460 509263489 900902551 562645639 420660038 136210208 490603293 938184708 813726615 989354323 757629311 566567205 721648860 607357023 357518184 714370575 704916399 973460416 322895068 320106287 422623497 352723307 854264720 187787907 199286690 724188312 788486690 645155645 201185237 305074869 286363999 984350253 388466985 855197305 760613930 498453031 126107047 601259219 562510079 696556628 230001529 583996144 995028332 859743183 637446184 616327913 428646917 353603233 511336654 944005296 376267174 316781077 519440469 700873407 886075875 114135544 149668590 718785302 763230785 849867240 614325563 267720649 784632139 287914266 158973865 617203640 678252684 698212872 130567178 162377582 176471665 677051522 226488447 185114013 650780762 780978721 655716956 708130760 340966486 706792482 356001881 242096803 474421637 389366751 453796699 701322283 253652493 617991976 690985028 734483528 651990236 987252631 296057315 213291023 274625540 639454313 242820048 136374306 135211297 871816640 458520229 240720648 182411551 893014468 519076127 362984156 721248241 531534112 886444556 543823058 620066106 149001606 806315739 376497463 929407106 124266638 611743308 793941500 781208075 582530587 364545830 850068493 631325758 567171371 260235178 228969426 506572923 882765094 993180846 857604705 811310404 337109184 354690958 540447548 768014273 324565533 858627346 281336833 497977099 379826269 490373913 504253904 207784825 420761953 318453763 119229011 714212460 843644259 519668089 256816687 281785220 705097271 209037483 686089647 548284659 366301264 420979566 214670084 347492142 216542259 867806967 774988784 972460837 193572110 635368179 990757667 654870795 472202542 921902809 345722904 538650090 722187309 609663206 442410415 524475554 566822082 432738791 224264589 925000718 676491848 546951705 353428942 913628416 754882479 256115642 359125552 874715211 657538299 143626241 700168207 750250604 968095929 710068211 909286146 642797839 376432981 210550355 268397559 135209518 194077676 719958897 598252384 284310601 128327991 732491867 496103753 626083992 517034492 789693625 515173490 381201459 245398296 478929415 702120308 633201013 328035779 916434019 827383212 305225921 199037388 922937853 109876772 634367996 876278420 317895183 629256530 573315345 174163187 113931301 464134736 500238768 633610967 509928639 710152325 815144203 473003118 543116884 687610775 289020666 899115519 455585272 490294608 168340130 891874398 841579473 289248774 157793277 919610308 499297370 770952500 592571632 758929001 886004654 995900571 654250977 605908329 812003055 994624193 130300869 541499758 946756006 465729138 664057862 564831476 906173979 305499065 666599789 556660824 183726295 703786123 363310217 206712117 738505044 475878466 327239323 274011926 872583492 640931949 822845843 813180051 752570283 980421676 726208182 668682048 494095065 328702762 582750425 836457208 266428344 395265031 232570986 853374743 253172768 793761780 800540498 606893504 255635228 214716997 731291229 370058751 758752212 314731641 381424422 880064148 446109897 221544644 419733432 262338874 291758107 295491492 660005286 486533360 863302391 822383095 342066075 557159693 811851957 542225192 158439568 880780117 558622687 871662443 341009277 168336171 141580506 395497371 363737637 832187959 512130357 925852045 588637246 569170065 887484625 436809487 437520244 870141522 417150062 770101323 648138249 220379549 357743462 377951307 780436854 752443051 185670382 149005274 629821498 615949020 563776764 990805891 514914504 719545572 329360151 956095306 936611871 158416962 497587538 877958438 555782867 935115298 343901544 813910464 409517586 868515982 106006743 360273903 414824294 196044295 760658940 380167107 388768509 202887492 559014587 377864086 195519389 529857185 240023832 219347300 664003370 898592147 343338052 500157812 242067384 894353662 627072062 701158398 755669163 373381604 751102149 313055920 275590178 213830792 240488408 480963836 292524995 200901602 277169448 488223850 222985195 613823134 472731999 711814930 380762350 415072185 435268864 638181391 737764700 445887398 265264515 261635660 525159942 215707878 513691564 519603037 336620840 479395806 258415127 250043567 984112044 271698127 803663282 716029735 963120314 862279654 739202837 845253630 921648124 842568709 908450480 439797462 949518525 634720792 145448371 253123520 270113163 841055655 382809307 700506262 486894598 320994748 403897176 238769956 612037565 548594716 180689469 514515735 387461647 413731479 958595543 312355385 417929226 715053105 634590209 168332521 182958099 485691359 504937304 164896017 617272236 702401613 232835707 583365749 347935152 746320519 850798463 245356739 674433573 681388953 899139342 428466027 771831992 516721306 861819239 282681690 149927349 762581982 950584234 362370839 699908535 779083743 664445628 573550908 157064569 142339803 808631277 745393717 337556823 403406432 333754362 516571623 444737579 256319647 667388882 531141527 754683459 605175111 216932122 881973825 682795979 307121194 576379305 208396769 890919485 341733076 950732224 667627194 878783466 750801650 137163754 582793666 825891339 522499436 818774334 126564026 465108181 804883748 428987349 458054745 583389499 441961736 903601767 668077525 462486088 938860706 146460833 203816555 725326567 471573531 288502110 704338703 551518515 736053182 690429375 835109488 754997872 669005936 148657689 952234147 442641518 634819032 257061878 422717440 727000582 540379988 904384773 265698207 753477725 817545527 946861915 526830029 991488471 118889491 217437400 604689062 620204937 402011029 839925507 958498077 982129704 653699613 833180565 788763461 159437444 879817515 312937516 857519541 134789128 918983203 602114411 646658737 376534294 458382288 127554355 998876014 103940394 376981631 244118246 690809109 190710371 258645326 123070044 440817993 639536203 434600009 685764677 782684072 899285509 625340201 336788299 980787682 918838626 744676875 529821046 967353772 258326678 243017558 771468709 985790830 709733847 849220344 403633807 315473570 653647616 978337103 464623870 305846747 756823578 603862400 775959171 231366140 784365917 890143258 786391060 112180634 575159404 817498427 809669726 784421052 950026057 399645072 290963321 464768449 292036828 837356691 849085225 419735667 377017362 312946913 361024005 427204600 586757365 857323981 862915146 847479859 488159937 665786584 267936060 910394842 823963705 317656107 210439751 371968469 492220094 384628789 245199804 368005298 718434633 224730304 281908246 376546698 131364442 354183735 161067261 686056045 588738788 665570091 809030992 522994157 409424036 407575569 437581989 841773979 266106691 157399833 250691393 937738262 744414721 186491625 455336069 427418604 341721294 409381869 642974723 307428559 660353211 881932598 359714882 364073688 434521598 707878086 637845080 113821771 535637699 813155055 744928668 191402384 635976649 578205373 583180881 545678190 391123002 954755063 572634017 483971205 884177109 964063446 270610661 263140015 514524432 514473918 687781462 548796509 608531517 835475149 852730246 728752744 246786559 161482435 911843733 607368784 273775423 491951845 958819249 271815687 530692449 615145413 920207537 828830035 250917653 864635540 393816313 727209290 135050534 452647734 412976616 643171986 312299864 603291362 501899495 366815459 924887893 276361617 578603172 430922411 447504883 428184673 507171427 839066159 310347038 624904247 652993555 257023919 247034963 572906014 455657475 213125735 653999322 348751174 935466950 144546780 779167183 744620272 504122169 707564373 843759107 994675159 185269037 341989710 793710348 596880752 105846535 694923392 319176380 949445337 427777604 658432164 521131435 853084741 972620651 303915459 328821961 931148232 264577202 276676548 675872544 646230985 604613151 895634363 730326065 441380288 137219064 359576964 509585165 144509342 622272687 380695113 272279998 990411964 281814923 929801405 444336624 401218645 605596132 393403210 191217087 380134043 538121645 452695391 461783825 840750668 155990275 364538735 399513106 847691143 838398045 557549011 215931179 673071025 828125338 671679163 675191145 983983610 362576141 198496320 961436306 779456858 977751674 960265450 550372874 572260156 818201468 896628965 577701347 223839159 943784818 401847568 805209029 195906612 547286577 802214505 872049618 897729536 715690379 477653911 307369222 235263207 846495044 873080495 966463748 413499188 225375632 121922593 501645716 530747642 167022764 238898918 249982476 916006448 194416421 850546757 370623999 313311085 226015146 901167840 234803479 728166345 848062519 759871045 596409399 188089877 713307943 117613416 197496885 539041356 618531633 686089311 371283343 218078195 612188430 316379685 462648228 905355677 154948521 253696238 239651070 487771174 827581181 851023145 582972125 306256605 791632070 449662508 608040791 594484330 804721937 220246628 443146099 647693722 196039929 426972069 240196671 488231819 117129443 231391404 636345693 471231764 617260817 888840372 829224778 244499859 947350845 694392172 617323982 692562095 373552307 463963712 425384797 952293461 543419130 536327502 638953110 314768028 567373500 779495541 359580186 742071613 423722234 385818112 450825101 527956936 818793201 730787273 200052177 571359845 849355359 183180142 561358225 965583743 126491468 248508558 755542735 486365191 508005491 882352582 557875138 190341591 364045901 763654194 131132545 568420088 642944818 515963772 607199757 367100852 538895136 993139704 725859208 527549102 538453725 827484781 389486651 755462023 709248963 295017989 338087440 673441386 728221969 258656167 309030036 744202172 460703956 253194017 874016368 595344384 325362008 687029491 995508093 541074338 601601484 331286145 215812411 314023216 802167906 285653510 645922289 724017218 383669812 950927229 228174816 442251654 671212403 323008602 358016735 441444261 857087823 258314070 423490316 126839270 174006372 951114263 831748489 342057071 916311905 129792926 539004225 494953191 342386852 474390011 480686347 746566900 426398936 564842070 760625641 777800839 992505042 183204642 944602912 340810158 729981394 410127221 961121289 729382220 445108081 898950865 850995888 810185366 751270951 781243834 687243633 140542508 504866216 647675157 174917731 724090129 510487994 698856592 812539102 892721574 842184146 832817261 577468146 361891195 321755272 469894962 191762449 846149594 679835738 197267853 719058219 235747220 946289372 858234194 738703253 478467514 510906024 368461500 613295562 945542526 537075266 162800189 486380031 761610940 576368954 926536760 782997037 484765094 575673489 501507022 393149550 601199757 612484122 377190796 659275041 869916384 739523845 373499584 592369084 384907330 881547598 739536499 300518215 100552167 522204958 295732485 413204008 358093663 846202393 550470369 274391280 701674631 151570793 824961562 409476575 363892041 991703473 285821215 825849803 658661697 709195682 900416127 798713671 296346471 499536917 815934242 250655595 962704733 480978297 620006659 705849039 682034605 923329674 167021722 695809164 530865121 333795207 291516474 619818662 809258805 265166893 219498227 970385077 305102650 467835913 421410797 387029696 694394880 321006454 413284909 834251906 756834395 717001450 917512944 687969728 822234321 190076821 983013773 372277967 310284550 837659289 647446981 864929091 725050780 121830128 870553055 426033456 404150330 380367797 288064037 418308307 162561714 660357579 164804908 457738916 859954261 851391276 555046844 434179621 724023444 865077063 164389544 971607139 246384316 267581171 807521104 127446087 152093056 712888136 445319480 936950351 940843503 761466800 142635053 339905499 624787235 760477356 629627468 835599651 248139789 418753169 534824560 470207094 548653385 179512735 945959232 127609407 530619625 983458495 847168231 231992122 795053666 185594454 361105330 245771921 472069281 136051676 186326872 866851723 572534703 524699067 707499460 319050856 652517734 194992549 251579606 639791980 909822955 106540888 612876750 577022449 349386149 111357292 595293754 884782885 411496013 111933816 218714443 292039993 719554284 153448744 518930061 119406974 364179013 646700777 140888875 332721846 928564840 785998236 953740633 203727970 621711483 251183527 763532481 552449320 290930151 286978735 587014654 409789918 643303674 771128153 807780446 377313377 192613155 125941069 308319733 763293558 130082551 684305105 718818158 127289353 772720792 604729980 348937543 103612886 804244245 795617820 891164232 606229029 938636650 243027522 456367656 670007515 742518968 981817379 931830397 479456949 186492497 338951133 733328420 568114207 703005571 677021354 201351798 551873950 891400237 644514499 629303723 751083433 613466218 144322132 500707733 766358361 986107964 200749420 287975725 220973979 938328652 573584880 939388180 937468175 315308668 843281997 492140113 636999871 537054684 408602041 490088665 442889690 139730856 733021453 812630164 264304851 338864972 996165718 479205549 166956707 245286102 305755441 477134241 476080639 553502027 469708102 555446104 167831421 115478987 955630591 424390251 605519034 466715413 695749173 106459547 360371784 281122921 583309231 691417317 417874225 989176122 161531811 930968484 827607491 294642411 857286533 223006706 542418906 184064025 359768893 955844729 265624649 558109719 656543124 299825119 521473263 709461484 218514713 832318181 524227794 622326615 289504155 844560365 754972734 238958318 244627885 531009885 746798913 329958292 206182935 357195583 643551727 877118276 741558526 149275253 599972384 737539687 830077881 256540363 784593357 206325139 743838089 367215850 665091831 443961088 846328019 491979669 215260037 759472060 387739430 908717788 960035609 950769993 437394732 742847808 508861442 450205974 203878490 247150603 389743016 648191653 243684546 343077132 346160564 621242635 310315605 876684148 646633232 635205781 361038734 976347242 931597707 522128004 826197872 722229601 176070700 621838591 544916283 387969922 473555962 406187944 907817626 929219874 922587374 444416672 859562120 547567103 142085668 960186925 577750062 577741665 431205478 740838802 228314032 736872965 420655855 748605826 595164662 598388601 523600338 654218837 442422824 426763320 201260743 251834180 301497324 922857264 339648129 561933488 177927035 634034367 634711141 194103622 353567785 935510554 599399104 516225882 397683341 801464431 746578657 715899964 229060576 101347079 525622025 217137230 966116630 937468691 470668076 948396338 123864523 815367103 455594248 109998423 736537535 104668428 651186154 192916217 234298201 517652257 379206682 459330702 576397064 838441000 711102427 758939614 708038501 689956925 619560139 860409880 520871729 797780755 438352958 649265856 366173784 551262533 997206274 852265422 173130950 728711400 704526192 384274718 441684105 633490453 142857835 837282818 607753237 246365518 809245561 226135566 710935062 166692048 972978508 966774590 983521748 999393743 839552941 463285018 869246702 514078002 747111286 916815635 129531023 130507026 490733292 950970467 998352829 163542604 757632874 502018804 514089832 542657258 828123968 188115742 241388123 826137968 909252806 324426652 720361259 478324917 237873529 899662838 992254028 749079078 713654334 760582490 343418369 703244402 250976362 676152076 927920210 854377056 246657291 499126858 818750783 561846114 939501764 705723126 838660965 488372008 672720234 187414403 677650213 194399264 122292167 487474173 328775703 267972364 350258664 490113477 133829734 799102948 798210174 255835439 296395404 134816736 779834300 427290400 575293104 884219349 737419099 379525528 511842613 424642696 967505295 807716040 821418573 951888278 978524073 211466190 425189291 388868786 310282495 391514152 921229750 949145000 534839139 334627942 158147685 613757158 246943325 713346925 516109104 989752452 136904679 201282777 633402449 442287985 146789761 472582710 199434141 970680371 636453309 105754140 633427009 207835896 348435898 228753293 685510944 269510751 370276847 977780440 171252691 364898660 420009016 470018808 807177594 231055117 625071737 625081565 913292764 206940577 835994277 787754243 469156270 904604270 770039346 962777082 269729895 710580217 546646140 344790847 441225522 648681509 427312245 674645728 413803110 481014759 119217943 620270835 681904603 860036690 227955116 578843692 321120294 703031024 696863368 207003870 946408444 279906272 653458223 932467756 825955308 819790675 688487657 967401825 877496494 464678282 124988132 748396253 209771114 159242070 313647468 105041253 732326125 302470965 210976810 171569233 795189466 133045901 771353176 902830426 405351035 495293355 194977658 297579470 599008865 697598785 633044755 978595105 992310799 650967259 286990582 505717446 764132401 591726609 767099490 581940136 325583489 903896743 926995726 395686953 504181117 588526356 143612997 705387587 797207686 210621872 910617377 584200351 212652628 249993784 244044004 305254118 823375070 213729839 504209134 497920735 240852267 701480085 771626371 272272937 235156996 200001460 711355950 847354424 751367385 915995317 768820073 263114134 952219757 363221549 924036596 396772769 606544947 213157597 571299354 493882882 514099551 420560606 257439277 372836384 414965394 817384568 776708691 466460192 233058187 729387854 953635278 216730094 825819054 793278238 566725504 468023789 405350648 971076723 509134525 859135701 236019131 664484053 828285317 954049763 409004073 453168265 275295429 156133829 895318912 686635432 526027002 865547366 430143560 322665365 591950358 672639139 634464623 433037178 889566996 671200533 990532487 689872095 668240053 221314819 695638823 348206859 356546493 912654867 353464781 482770358 490621936 971122135 592702947 475123308 664797606 386917184 526718597 975107787 682261448 884792480 659592160 774160763 762922289 590325961 356464690 186434166 687413110 372113838 458685450 501639432 212471730 101497424 992201304 651195137 292779828 907859661 103218789 270445106 759506027 780787230 110849922 572962831 162687973 137296482 939331395 740267823 771285248 139512499 773803795 364375755 739602197 735207547 373633186 738157382 394860270 531105337 582976537 322893992 373521246 570783872 480814504 500283872 238751462 959937831 439911029 402797031 709846046 937707955 253303533 847722121 243069115 993738728 877459470 782665085 174724509 287940835 784575810 487542267 753536110 553631549 581281318 683234714 968536059 573328331 935078849 184832022 948942357 225928145 123751616 409600304 957196813 256843989 598865352 678802831 873446671 748651411 289974624 845144718 824852178 414461059 158402466 663890836 462513747 913090999 681632043 310151403 830941880 626357737 167038809 763538955 290540205 439323689 563622284 142372780 642193096 234445431 102251054 585750675 171274737 537032043 571461775 456876338 175736783 743977977 738590482 904447201 818551264 249965447 973775294 612373935 851621948 965958098 383379231 345403230 196816089 677048219 586944631 840530013 165310494 502204175 626776287 163887535 559351436 459139699 171588214 413170912 914681088 858813217 736175928 770518732 100921848 795457287 951611349 966140222 416784446 831912873 370509398 156363065 328182801 232924090 401046732 605697323 508544770 588846082 372662808 979266237 523846661 204795755 806251671 837105756 590388233 892288857 432780484 434428525 642725409 686265456 589038836 885256268 263922183 582380210 318972223 885210289 340558895 702413691 456021010 921379869 821875142 221903254 401798624 404396363 504715152 907954018 893296732 996741225 656491912 453821848 771951566 373512061 551572228 491771517 985652835 815419346 784228830 434847079 280912712 302009230 228368746 589972397 222626000 176114447 686593047 841012751 313246809 654779976 999403341 539762329 268444074 631556248 797544791 583143888 948751650 354722328 501620780 397705825 970786741 284914772 183803445 996322280 429911425 430962779 584389118 585407745 715078804 559146840 816700754 835850954 684533448 553625077 729019997 411127517 849754296 121494132 835103076 490695400 677828055 569033490 889856704 866000386 394918988 566646426 336628788 234504952 766652414 284082010 295542927 692922242 771960413 727112789 587121109 901984806 933775477 164334213 920199220 997401851 297510324 800696131 509330689 273015967 203457032 385766991 130922972 861638888 156323864 986643340 793229432 999311501 180242918 336875364 719660061 520507585 944019201 225659263 651502213 469857292 173011231 651285825 411269583 123252093 364959971 934243483 625452770 751971191 545168036 337049764 893857944 213960936 127366874 828520903 965452563 467331133 483052121 218065448 711153142 249189675 731232576 878801121 272761534 565740511 602734320 897093641 275715917 883476360 587850804 235071820 697756403 266972037 513116131 929548711 274777896 627867241 755687288 145920950 475016019 207324968 998474456 387683469 495583617 228652354 772168828 822073343 302509804 409851415 687780198 935326951 897358936 127836471 873850530 679712349 596070161 380993429 183831413 590083457 399244220 891426257 722897791 406330741 260421280 196123716 197541179 514485495 340962666 278981308 503626720 395172597 875892239 541852123 347556320 656778781 486487386 461887926 811390682 391215707 854762631 170834520 932985125 549925780 223869921 384759835 904446087 654666098 786992996 121320851 147252308 880598489 771505583 176177543 540735720 913431589 361440737 337575386 535223377 502942991 832308861 342750616 414458666 650934547 367941921 392352633 542787859 571379346 851485336 786463597 274685572 525544926 406693380 347113053 354109511 711366023 272410334 942015438 158840430 350884531 113069999 662053169 132583202 734157847 452104331 102874134 139276116 630638797 873436180 574257901 268216463 205301839 242182790 900514711 697668601 274694488 242840850 890774922 338989383 150569261 452058202 216021676 845858945 104334153 849593686 327416826 943866373 561639771 965813895 362312366 124822873 565097057 434964732 743266893 866443626 925425630 243477819 476383258 202719833 216577613 839902364 458855893 244303250 981192926 349920485 898806153 673909349 668746027 787782638 606660170 971737457 728309302 960135727 492983851 217393754 373775430 752199624 406794249 467952433 885122873 761065282 946834635 600750731 885322234 211469913 527339836 107537458 113891584 746575793 535127073 805490549 981146731 499485246 932099476 678913825 461614728 148079848 191924442 271768731 139066803 420039101 418832207 379193900 861354852 744982264 418100821 458369445 396079834 583906666 229802952 997635969 366687643 303856346 344949125 948265304 591814161 384983429 997568211 613511709 241359514 366437105 808258318 746068022 331527256 160811380 955724331 633873652 908233891 956049132 647000833 377394356 927648989 957827194 108240967 802476447 400141035 856305155 587609331 621691928 220484883 872307540 180593353 203338427 289171199 114316680 922557079 264787332 583297356 615230242 696416690 123614171 470021301 965590882 630825314 618724489 367013408 268651457 576506684 891764881 335053680 405790236 577609901 715337412 539322718 934666481 152537732 750503925 177296044 871981730 674732910 294159914 651759281 853848923 807071520 175954295 870254261 975596236 373281939 640162616 995765794 264289512 339959879 161606888 992388411 581600019 771100767 784587734 487514327 858169976 625097499 645188759 320141986 632561840 823698247 652434189 248573644 390448975 308027449 132564018 782832742 906780119 608303132 174701193 868882382 870904743 438047631 713121814 122699670 923525538 334215561 338873480 182220847 234246144 206908350 183544251 718966763 523101701 215101626 346032506 460744055 488891678 572746542 203978214 514856676 202925216 296786015 156617681 460015940 136949420 559675821 406857770 339842056 827889155 618205673 430574753 459046217 619777840 417214353 619963119 554001393 988279902 600936214 825186102 617852098 111507347 180591337 415566020 778849066 997066909 803633903 870171019 218379742 542865190 677332327 500007289 131136285 931456627 284332899 330967927 316789242 927938563 812777649 156460357 728908610 126032532 159744838 370923742 278974303 660116880 960906373 648858026 853787420 937919551 723850174 705127732 892218381 193563046 870556710 448970661 944242657 376546052 913304342 864347439 953896763 314338655 514196396 114185151 780195396 664561834 662742561 503545584 228080883 128999914 890259149 889816698 985137500 561643863 791663555 627514390 335043777 454055158 637445206 321894392 974064173 948770180 721685211 987311877 672964363 440712823 271929988 165188420 131089266 182562039 995521470 394945070 126414660 138945349 673702908 569620725 208662509 186674179 930821822 754131371 348052820 370167216 618487854 450828125 496203829 982100933 986136007 667348087 113205391 751190201 483013045 945827757 442985510 762060349 944504581 936882300 329777234 647394480 442922496 144051436 446001892 904183843 630764333 637367905 862461908 677620381 897078201 879573263 891908988 172769780 568151520 354736134 584812419 489375095 574974090 358883430 455188176 530294111 928121023 635793657 573477546 133481509 976413755 393821142 202457770 726860314 453074609 168113842 806589312 876058336 986599400 650406504 291989329 351326387 725321016 885885455 917559323 991053239 576724893 227375576 892318614 952203597 656479432 577412011 393234955 373506584 769175593 122775680 381511473 295986507 374201899 656855826 656182637 253411262 824678404 849874717 165723267 541970691 924894879 720111282 826606455 177342979 967923297 488882116 265370729 849311168 812054328 822265236 848891653 862064302 134700799 929177967 468440892 437263640 243949563 461926886 636639168 282062351 474275131 361804994 654365876 618523946 727502474 282066438 838457609 380406583 626181449 125866613 626248975 886795028 552216744 640447796 767165694 520496247 799075070 321146380 648680196 700152169 573551042 431753375 312192007 516876295 419103391 483226309 815884292 829269560 650571222 134367208 689747233 468803610 272728738 430110173 644540788 632436178 112827634 791578654 752933406 792081840 476027712 403981739 144403206 430754010 541039958 870203008 185343370 849129335 771146707 749667752 604926323 478219547 704482645 869428905 767741040 138251098 697718898 278726085 945824399 239716465 851476076 529446014 956922678 293831408 118267011 240902824 741995295 230988252 220557418 625582347 615152341 358267569 298146578 256130280 514880078 167988192 739399501 603164144 221905953 307053960 844943752 977711792 465015184 204444969 847098191 449818267 767158537 547979439 405559579 879246366 813077227 232428191 749813286 311106589 252621828 532032774 329115412 381082978 728394744 319092630 562759751 956305126 703465775 682651916 471258699 545289118 995217242 889542395 994099688 105366800 167906084 817298664 553961775 496932053 157310893 792284962 797499013 447752336 677632073 619191973 398179096 414108027 785367681 690067561 426257510 332813970 870030879 954138024 500017876 653325855 695820330 244762946 485785223 101674576 133369877 834481617 117532551 447575358 620138750 627407608 323569136 638241418 298202902 334634036 827385930 517098531 636522825 286248388 535649985 445718399 126069244 914380322 257368723 278886715 975986682 288863591 835964511 385223512 264271850 526680883 664811967 548058127 476566824 755856272 146061775 810039720 950223249 671175678 611873617 641244134 915700897 301891257 904863194 748684030 164746156 214174200 151980024 673891440 753976733 587379562 828899715 814935749 480310140 218565224 582833034 808150130 828606645 668153606 610030255 642199984 195050386 806951362 349539884 666140082 512727628 743969975 766880790 688205159 684554904 957682744 970231543 477986159 126831840 483888579 947621968 178684001 973112720 735185689 563265808 901645847 561687825 166971587 432998102 553844804 631639888 540087765 236667875 389956038 294129920 595493921 510560848 668529250 415997500 565087561 454428217 672290447 290199492 692221635 839427374 549721009 831961965 697580802 844517430 552144098 968330436 256148450 576865762 659224926 203331930 837913283 226062979 816708142 149259661 559852361 307960155 348602968 442673517 620991662 604390917 407567592 592995755 912141478 686388357 844227127 491050750 895329235 992250229 447937365 152458879 166817967 226063386 517681443 384456660 777248699 491883225 636709097 960093584 587611036 785996562 650557513 458504044 148591446 691542580 922377778 443373408 440868109 629974685 877071035 162819281 332332892 773168684 746540947 133116124 357077137 461512969 479661464 930292924 955485910 938108504 250878490 641977073 355218210 916789581 263398099 685926705 344261071 297279724 966909045 869252202 801285721 879259732 705832172 578691505 409236604 225439063 945722170 610560834 610481652 471590264 923565767 143589582 684911385 384261585 685764081 924133799 232268745 470992759 138236985 433021289 875535428 270174919 397225150 353055654 766942739 530150947 188618898 852967990 720537881 421303085 713058084 412447813 465588235 126369516 334678704 254935180 731374934 727497041 610742798 746179268 168501418 385705870 278639318 269988137 562663615 386913131 235466915 418620360 623563075 562627242 778304928 414723413 864894962 880314687 533406048 524493918 129850767 462387953 961823766 729618728 395488078 657632390 965624775 595590824 779694404 711483355 403647251 788988398 488227992 283743834 377944622 890802815 652384493 387336228 546421425 354864354 758530407 309346407 175178522 311208713 786905457 897546118 985187064 696643352 174899446 379525302 125898653 167987032 694124943 138741031 974176839 276793337 520929659 746472915 634869164 400689593 547778292 315368603 513306714 161966734 627729950 155667903 623637957 465317414 720304807 832542315 202136305 650895892 749313754 637844265 784803174 523184120 890565109 921247678 144007829 430801246 858400545 970200283 665430004 701404532 696728773 928852760 847105841 788234815 161970801 842408523 582407883 687625230 772951470 804710577 184413298 929283591 787598571 275929048 714808909 976797755 899871002 111464678 231265119 538008965 878839853 821118023 308467334 917163725 713321546 385942408 757445950 974488818 758611173 664388044 749297706 108309942 116544030 872083082 197117141 126068719 711334535 704161282 741430951 258472138 781102015 875497505 411702131 757202364 752166923 793345526 901618017 445537757 947610475 410154965 735111763 774142680 871597697 722223266 172498426 802167828 101061804 983186454 489473372 499365109 246195946 650574039 744860173 147178796 300091041 918523923 704316024 861991152 196048558 640034829 543960389 202289013 605871424 394656512 114799403 185198084 154634421 523614646 684106638 113582518 699588594 648598844 715708603 101597613 667431748 760535189 819003520 126267218 713814038 426689785 357117629 256235970 273236151 512388530 844415894 229846536 960435942 177199754 571363310 282177594 250682513 496471437 602285259 496292357 135800430 170979796 601730008 318318280 493564815 509470072 612482802 812846192 593662936 777427090 261977664 914477666 497197060 924128967 716060868 142119010 340459050 714042853 672299413 852429018 291768742 481393664 449173904 804836754 749829360 369425832 461350477 899377704 966677162 969369478 623123002 587078991 737666223 977732847 104282665 183686180 402662784 752374650 370028797 270988901 804654976 484539702 259450511 876728074 548473925 759427148 162304896 519295915 482993707 265710273 926606001 420403263 506925587 203086476 483422490 310196657 907460861 156151683 977336022 775676791 444625091 985329590 990534375 789045064 859060119 864291179 470233912 693491050 291232911 325005647 976563002 585293565 579746223 101533006 917938290 820499754 233435768 324667427 309461362 276593968 256493745 442189334 781554560 947452025 662521698 604057855 749882805 116114742 872386731 708695666 544411880 774924348 468037208 503632960 521970474 184259490 255931765 514426407 577756668 886321207 377901592 367269730 896538439 297897666 300392849 507569251 747879378 342155116 639116271 841566564 682856185 882295539 865267987 347325831 262704760 337001646 322112539 183885324 282183011 732811294 815782033 755493055 865179315 377708297 281235879 337022928 470969110 252658610 259588453 325745879 762146949 976957592 915628481 486821422 974602228 940299551 656880425 989683608 551954742 971162391 296003500 575154247 369824709 919427821 417891844 171461843 434796518 880854270 105358232 247888776 389797084 483379732 750415072 770306413 346006652 982209249 455711030 295568949 165349189 682334443 594523302 403656598 638019662 678778510 297887174 853121858 505810149 510868388 177287778 433135034 110397939 331975548 657400216 362551671 915783235 349217488 922766134 442046797 572555795 889564075 469906591 585028187 189939227 445426176 472139140 546038582 283150310 897940853 312204596 495381937 957202314 760293393 321730927 493132798 351171432 679442977 462720098 858000350 252911991 479393571 247785007 898712760 345446081 945125728 131963312 545133337 610736910 959250215 214041725 947757470 216150400 243723483 484887648 879702795 491284444 242462240 781433253 551222273 346750014 273668949 914231022 703303951 219201479 495464961 758913309 238930802 911667535 532372971 828012374 923708200 909954019 487901494 472996142 748765001 588797191 662313598 211113023 219015848 445439000 899860424 261073922 896519452 441546902 792142302 450780166 182337914 378190889 395637443 971390832 800701706 945993266 740752784 535106686 604536136 793112769 407082760 489669565 864651831 175551574 133539849 256388101 347179578 413805377 731144472 598575352 322604084 332165597 489255633 223704046 240476782 580799802 242705626 428849842 925255257 551644279 230298319 936950972 800227549 674217552 287313433 731030963 777996306 118968995 215174373 358027631 430229446 379070502 271853190 754231805 726821078 373249114 974963121 806784916 636380232 372459537 438866068 948783751 181463443 773782735 188579375 542478195 603984715 751717971 257866732 101437852 510987380 997029976 366319345 130515156 632066528 898528037 698325017 642626263 492463613 871842758 573354172 642749600 842211554 871268988 832816698 901671082 836867219 105649243 329284092 979568832 496454052 526959852 709693599 545135957 539334598 546444020 237172439 678270949 942513322 620288246 663559528 650102685 176002603 410506576 400259534 536645603 896776592 648336516 377789652 377980579 399706747 921415160 963519619 648551106 238069051 808178561 836002134 697732229 627644591 654655565 684236865 332430943 636978594 547127061 289573302 814883718 356072531 595031628 301159708 456994093 909124210 317139929 174042313 445586392 622916033 804585678 400496238 889549202 821918424 706464336 752549906 612855834 227293886 460286322 341985363 360901711 735524969 707788444 606813575 349498585 754555624 988606945 246249754 234841461 502679789 729539533 104936606 667122602 605362993 811971757 935514866 339831539 838122418 915978007 911443393 917261105 444518710 922315246 426022521 894141106 879928133 421130936 148036266 982539162 372379869 484665578 532193880 735857987 687935786 181391269 380826247 897679805 429022768 944112149 177194479 456405178 837671280 237452082 303429171 563569490 848423278 820139520 878819023 434347852 886305523 376922473 573450142 817737929 597623423 598718798 136593074 953743100 490801680 409580812 393502619 661767023 164179159 202552130 705187007 842179310 997762138 906432582 637533985 540550360 916534438 895039073 984092010 483708862 850671861 748000237 460012245 809041165 758254537 454813145 155150440 807273686 439485569 333393067 477234114 458435552 812463427 173639286 237902077 926883411 587801387 776656212 420380544 335041070 428691545 572435886 599487953 465390098 159983889 859699959 956757603 384773118 581806371 575436776 338385949 134665994 324988082 942518197 569265982 514544059 980899458 377224005 799488305 816194034 214202747 365295444 551200586 465925591 866987145 568680674 178909181 661929138 840343253 182746237 584990593 373797747 359284299 690144719 952725649 475508046 346100822 267663998 225604786 135588780 287553810 387683312 446243782 127692098 564327089 644780749 928183990 485752000 830224554 382123263 867389671 990136561 597951755 822758891 505279762 255207329 403567787 106232215 344689435 464400385 312669900 643431269 517672574 507173043 552701524 605413625 656440946 283057460 193290974 323743591 326698733 895688359 611313341 662637572 375617478 968508252 822560659 510971831 766083289 549664440 719707829 815538880 877392727 303522374 707502453 162469523 582764051 222484586 971577281 569410548 794846662 408295872 797629041 739595097 364801936 580897989 300702360 709557707 749306025 956775184 949629563 206172459 391258152 210080801 507506216 374299729 352157175 735617091 999560357 208260170 387109757 482242800 713882910 613364236 827305836 977710920 883006126 108260975 305363668 663330572 351029947 422187040 119555027 733675377 262149649 324856568 613582233 784670395 537937620 437669434 323083409 855186619 591963675 914192705 166746173 474681485 717226626 275248424 407128857 253909570 849206720 700461376 827267859 654850138 488743575 250137119 286633114 267671191 876539825 653321704 542519725 370148060 361030543 417800240 391546026 908761332 799626742 151228736 365083486 832006907 611555803 264078855 947288812 953274006 317251288 920424077 901770618 800861786 972844892 626748744 305901969 591408935 902388803 776214429 378696613 550619513 157198617 664431582 392660577 175216060 729535110 183932699 190208889 339919423 584243665 608845233 517843571 313526203 948654613 217538412 916295805 960827182 228353493 701796345 873149297 153472716 569675666 139631459 128481632 114044213 898278702 647763002 356807982 937084461 223860556 321923333 767655883 434954133 764455421 373987353 985144239 165897174 902409781 685227600 773107752 518108883 543144682 587783707 310401906 664663767 568296965 656026204 284420053 545126212 374681030 947196829 531201221 237951971 997581132 743110660 571432951 369404790 931349451 997009818 596889165 998044322 808452806 470790673 131507114 423048535 676566987 260291643 712910569 460905892 664439731 745902634 305644336 711472684 189986414 505995659 708747526 354132018 144377045 662913422 355970700 361432608 643112670 370599678 358832552 762135322 269696322 966991328 730805247 278286760 339877842 283991430 371663965 602163476 446515149 306781241 482327731 852666918 705662356 104288289 164991780 824498164 221012989 531779628 217047819 674223858 122208670 848792187 566917762 772223092 781846752 844668393 218754222 450081779 908537780 667887003 512252702 644964841 328140328 302562269 938939458 767440102 384850278 995997750 436899122 552160854 106132878 632306534 289750310 314157171 976084613 140413898 409423394 465611480 831042800 787484095 839464943 292924349 510388404 336991385 764834727 582160853 177327709 287355131 581601421 403805897 148218898 497203640 458356991 389209175 237319365 523225306 415642082 201882426 263956195 263013563 770472657 174070002 647792898 733406608 912003038 524332280 468172749 939502735 144959249 569104234 903199690 699493933 542348913 477709914 275288939 522510869 763046805 121837426 980458397 775358430 804344980 431285270 235735571 853460811 710380124 731017166 693817240 751136941 256117311 631318559 290678307 428537074 767112428 157698048 126005242 143504930 834934410 321981621 832448560 567129339 284337718 971760237 620734940 952074239 976761339 878526189 594055273 982533275 474666642 105952017 630856861 265415836 476464387 152350407 285479722 563571875 484459635 555121136 234958295 818288109 364938934 311898372 787053966 149366661 299205802 393828371 185739522 425689216 740283497 352643511 569076368 935868272 743702863 877604221 220613675 842653948 534996733 456627022 661438945 419405254 646002420 218785086 688346379 378976645 564162469 315036457 948877683 431862800 230982892 535949114 189507927 663790991 435119606 315783387 934847335 746637986 852149281 680653160 910543386 840395921 918715375 520302023 472695059 490801122 814602667 619633963 993901026 337034414 692506767 764379028 692861989 223781004 173063990 298960853 357197726 760310023 120409119 674861420 996115374 861674024 133512551 507461680 713300431 899165751 619589911 395167121 489644151 468380942 173191388 666735026 641487468 242717138 347430577 344241474 171544076 811000275 152584466 735977181 354103566 760328740 312092914 485737936 768542820 432258741 208981708 647668997 164403734 450312550 466044239 600290639 628661017 459683523 399323504 513503884 204638500 911485779 378968312 480573724 621132756 731317068 192033577 336483003 487300386 800107417 199270880 670032686 867612153 401171697 330264911 827694011 716598919 766819589 244842802 557517371 569233623 216136661 935146132 939416430 634697538 465096592 392133734 373293545 335001051 816044450 175804145 643238853 230681383 811188618 424700690 149561628 716030363 954323313 420825933 732633927 544416752 600958626 532395025 638830565 259938938 275385551 310378373 932278882 931299337 504631904 716370727 243614271 792705517 524677524 429468246 751205559 732395613 668694766 846930882 104900999 872140867 317249091 850332507 487635486 241641815 237598893 271835572 394000206 529532585 489338301 667457168 825804580 766501098 341284794 260602732 351065137 774249431 199494959 853901928 658954477 188070574 828230078 914235264 215567098 501552208 898678757 179781690 265875663 881361006 211314584 890837616 974543805 132231861 749850662 137584335 850087923 838261580 572990179 158579519 432964736 418884842 602121334 277713364 698989591 406528082 272455582 608507698 901613238 921933454 382554351 114437157 714501545 626510126 978915030 197863426 430611411 549391174 457551517 903255791 740062932 955316720 882638326 659404903 236270862 815109825 505639523 863108542 547947700 410068913 260074701 169602334 540854455 115788444 167957124 240880231 640375774 104159056 150651309 224500958 710538771 873871391 133233291 328859327 271503622 554186025 983425803 700240682 372003838 226289636 196590114 513677684 438563814 864059889 152455357 395408676 161219037 484130343 933413877 173520634 678475588 469105002 478558050 436564682 411063502 655665531 404266407 673366074 401473916 275494335 269847701 488628658 982701714 112003285 592322220 747377034 759674130 543595147 434786049 619283665 385990256 410201343 395761294 668406580 671649909 251562387 620032362 559522275 330634549 660739380 154570801 360788728 234368808 474984628 167589535 787035731 806607491 867540960 670617153 308003366 917474348 478739538 467932754 331037018 299716602 478816749 548058881 856755323 481396316 283352781 103725558 827639386 974358206 381747396 734072638 815076153 269765055 273644106 683838852 673283519 222910978 914811408 772713910 238301078 197630928 231492336 510525584 274490792 722968731 381175559 349007241 498628284 143247046 907466041 274762188 962635962 499764431 739707709 924442758 494451486 127864499 897282621 791985509 663708542 490794005 108603808 948661506 410630750 192500694 429778009 514977870 370378222 514021049 923641623 816309300 304687535 244207934 639461654 661963912 419818575 532963851 527462330 116334446 691906466 308998226 976757551 591111912 604058392 567173459 576659635 452747020 709444817 383356034 301365269 479417859 657645921 962905180 912233430 825956115 742514834 508397726 495818423 614468398 810613570 100132999 247435863 982795932 389663388 831722355 936808906 938365352 573139088 532113219 209505012 437122208 755973020 189221208 377034615 634455280 149274585 861831956 164976175 793582015 115531021 590219741 847642383 116826031 406182521 323779105 604978277 887928870 341850760 496511484 510062823 550998214 580425654 162840837 453101298 293684679 544593753 745097237 649511071 790831298 706840541 234284539 589396055 208448395 808443809 328882992 566336975 974899377 304966291 775917734 941347950 657631245 874660486 348142600 131187485 796648454 550953890 636759961 216080901 285158811 565469617 267300985 919176896 305485852 326157958 278583941 131998861 622744862 130976771 738646483 825781164 606894021 404561645 170942168 174842207 528610599 803591231 970112610 291574133 943732461 648382178 135670178 337192165 293965791 297428423 902722329 253414710 573816799 976108104 741756087 671039237 136166543 164520851 791735130 557267387 126209777 729854244 540062835 724460174 916977398 702843943 772359655 633964491 645033291 727064118 399610649 353237715 854497990 196787022 700896211 981633433 653813228 488045330 104339371 491664388 949562063 776113493 950592513 330529518 275498633 270809746 718322390 747097983 926711952 987836512 997744642 148369519 773020950 726990017 390096101 661977290 314009681 727817257 733035744 526560882 564662090 673296923 797642423 656158225 114447933 375492511 560432025 336056690 483403606 781596933 996301733 115643304 606840238 754145966 370634535 984800126 562666224 672591164 124656798 457985565 330522817 678082095 221836790 888274358 824799931 650068311 544560684 133605307 857210308 567608164 651639696 115235589 863020927 942061789 215670975 994259707 263240160 893056287 117672299 294087800 300765003 384536988 515686993 175649302 217192751 681178536 316659607 483231908 948801536 812380631 665365979 198990702 763602935 492120273 100065726 146988795 145701645 328598000 410002981 891675969 375477307 626139614 946845216 949213423 552458771 696109310 464444470 408952423 381856101 778747885 125525449 924175092 592936079 157276355 586417691 313261091 628107914 640768293 567648464 112914970 157912222 810181539 392378819 897573471 823988497 320047099 943330848 952142308 740760877 766715988 394934336 951572495 622790172 965722881 556386344 364300372 301534355 627734110 410818763 974725921 640914464 737529059 785026104 482127784 310531884 242871155 220206675 953471596 524009296 177529474 681274795 867792084 268472239 239505168 547199198 542141182 121618893 329616202 551232492 182107755 932551844 664122081 183250820 485000088 515358745 234699362 315102993 927151849 208090127 305018294 444909094 762467802 332250832 470879112 892603184 956427043 888357577 244981627 978893189 801972884 323909338 123989709 125117170 734475930 217557930 800541361 412595455 247031348 465765168 762766479 383063819 688189911 154400336 282909521 657173536 936061456 991754972 607578391 865335967 993633497 800019821 683546719 539230117 910013076 831627016 931998026 189501225 247338985 802606038 682820676 293116862 567130291 471949071 242114665 184161857 961164396 114143493 515236431 832344635 549090455 634059416 112620225 992623070 420697028 468130698 922657107 368712171 936282155 657749515 171968476 582267720 138340700 678495554 480191673 994514205 819965656 156577252 759828561 771818650 749832386 959695938 441948331 469221947 948305000 457083923 792426814 344620027 191928177 475057346 551616650 810217188 308334770 927726135 597502310 359670010 730172810 142529226 666402648 899036822 758946943 964296163 342825331 415339356 631565712 146276629 682450462 620184869 791465941 664041748 104789361 250820224 824527625 325551299 403607857 990178155 913636847 303174551 236748304 940589178 785603759 601424603 607598189 262295153 641758943 562366478 965102699 294093044 490812950 957572422 991789776 136176813 708235345 187669455 355142061 174432789 551762806 612531699 394411521 725541502 483132756 998551733 325190419 230401394 152274870 701297658 914171155 511593741 167509837 824073158 827522627 798811222 687310825 755334011 527999693 960901838 538269206 786336630 404479102 380185598 341133048 798337923 563860305 751015179 641782356 203519449 544071297 450331178 792362259 971169873 378566442 174243528 774677779 891387515 845163275 146444192 147465040 949410274 986933635 747089339 844159311 213265426 253474176 854212449 398121221 571958277 454603168 159800224 993694532 455608204 129262947 639725828 671429960 271675844 287764758 779670786 218305156 972867785 923719815 571907387 428492230 453334944 823109482 325472837 476765882 976566443 379371374 645107287 766011556 138765148 634706645 238044426 714672890 494650367 378253430 247465871 327548602 533843314 131521747 491204261 439338062 344458883 133853332 940198328 841564353 733070490 685630887 861886167 782557173 240222920 167620065 370676253 865678436 555337357 775685022 508620821 170497872 101268934 789737716 505082917 245404239 484782301 981749828 450139637 122483338 491325185 134943703 266044129 180316364 997023640 859943885 718895331 285052835 709441678 911924021 432261398 356732625 303661085 938006206 472633671 240119184 677214192 628612194 836879975 669713044 364782329 556707687 541942295 528161974 962029329 843904269 248084051 421653419 638668094 357581762 290775304 329904942 557337355 312278889 614716936 556896188 109502925 766271307 888736599 394711609 626064835 370731707 349105889 767119485 744775559 668513748 331410110 679960027 346303810 661954923 203821808 884332373 882742875 582694989 848329930 318213841 361182528 406839178 318461957 164660516 292257481 183299896 797549195 509435055 716999470 615123819 572051510 604221286 597035668 227016357 548040425 885468105 720563994 102327781 409042919 359494214 959126912 456201416 344357217 641440476 190541025 689022048 759283830 848365351 331236991 362909928 518159479 998863647 729159286 839629912 274665599 531593670 733928747 693730706 388526330 164301214 217597876 327806647 420199459 472033637 146728181 761377262 821695144 495915937 166669822 242856204 812861860 444896480 374586687 955875583 792976563 665168846 869732893 491696968 255572550 914137436 467236626 329305735 590561489 250220494 416610698 380199323 351482887 351105514 458129052 485344690 634892368 145751954 514827630 816063439 439103345 505859748 632355702 207288280 305920043 955503000 937161610 903431535 727489777 945549294 179507244 461226426 525474038 801890559 120728423 822987579 949132083 613044811 146429877 800217706 340703833 710518851 398850849 268464903 547193602 902698070 438665491 980669052 800332272 911210563 594479151 150835119 829948812 341341371 216991147 287628870 888206622 879333842 951410883 762010746 708485533 455003584 852238490 796445178 559469832 220704387 916474702 509584862 237377320 817019119 894491114 809482214 955204992 174513903 205964780 760803903 233482704 388497418 323958243 913809333 636192218 523713256 805168405 538928414 480754290 772773954 691042666 107607233 378680215 991186609 905601605 660145360 974836365 684816931 475493593 506137016 867484479 276066339 263530838 472892596 944427206 940156337 939920687 851577105 115209598 199861140 698157951 947802189 584855779 869602410 171549854 565392083 276666952 536052205 317630209 333571407 553768440 476530539 277260082 389947503 991636315 505872317 571803436 646804366 870987420 336664905 860483614 289954501 432353603 446274213 660298376 340548293 238910137 856743868 738396657 182445818 947741247 391616135 416067099 586195179 447464950 432854062 150292456 712408637 523070547 764601267 520218602 298823539 176672283 133856947 739302422 716087769 921514962 320054690 130192783 193355831 773735949 433095958 151944028 275034664 251741739 963241669 289153126 717430603 203496051 262977150 327269870 135544590 890925390 308165241 510743269 968944640 393715304 612435541 960961482 675977717 613510825 994038748 938664704 637230146 236112433 508552409 199941126 427618199 880622594 908604495 274261839 837739219 801655565 866058608 280985712 185933453 444333057 711824178 949861430 997152811 968903021 531041432 531364237 652513430 524861912 602332354 451700149 410261220 770932536 340717706 694628405 134757694 624159595 998845192 944397031 855712351 394892489 803890637 754632857 266752835 108434035 882845441 850450021 613818891 461426373 499738259 158055196 258527058 607049949 188686283 622618813 720726633 929172598 249871816 184897870 857759095 352672394 449019829 733634911 277697771 195127971 734657565 728460314 833927422 280014469 568506377 238244666 215353292 372408987 842578650 841252352 171532449 187604120 251230665 725369529 946332411 651500296 404712512 441709502 457241583 416937280 864020907 808078346 656235454 851338609 595535728 297747931 221700002 932198405 442123935 975990529 922915154 938026529 665195264 435245461 431172424 568989040 573678748 454451098 743031291 716376874 496612946 819261995 302301276 294357079 109785732 513747356 859287480 555726429 277088658 660669583 347866973 369075867 993121375 868679071 250886008 628209643 830528725 615355247 506632855 817513327 285367422 716856676 244797534 179367513 607974688 805182105 863026386 212762418 178572468 533962571 257522423 792604637 669139683 164957615 186233381 933525928 937287849 937963113 785282134 941157926 415298339 787977271 782589588 667952421 912226621 832996508 176655222 712475154 625309777 730355591 295097986 906821847 642673405 675302241 188021087 279560685 763992754 814316669 366420029 380797360 744624015 280769865 104817341 367234085 680873211 215337038 362737672 873394835 879850428 142794264 526229622 577666634 319076782 979349401 786801188 835903004 400869193 731688979 700471879 881931057 608749899 830418032 423779211 249945379 836408330 257342488 969737778 703370190 775340958 315687432 451257861 653125236 558902570 344436341 125311240 377487715 837307008 453729361 387273706 113312448 755064651 176664184 255645040 471427827 901513851 500039524 715038322 167352650 361796607 910710965 776405024 278967932 871437941 518838566 332726245 354757321 291520589 591107174 989412033 988264156 325751270 729894383 292873878 978932294 256710886 671479063 796431570 496432682 952262541 121466394 689199801 787135457 324140942 790086708 397644310 132206900 130295796 523279772 580430661 909241277 404275910 582806454 832146314 190545353 504162450 908121740 211320816 671361673 991520964 482031739 529515257 156830644 318731036 307526549 561592119 263305627 820898506 446764829 272386278 694488471 912023717 699205469 334878278 585475472 700356997 649488122 440875626 802537634 823078796 603639498 361039542 964963646 343419633 901940529 934034027 728390652 781812861 331611927 687034523 968681438 946681722 394943814 311105777 268127766 969944810 255409706 636515762 506514323 373916962 915044439 734479253 970064973 253940760 591159140 251020849 866552982 283592610 855056317 943031378 430867314 774036844 317729663 717240029 268560008 623724597 876010936 402251763 699257225 174696963 651070012 338821011 229528379 676006325 179362933 265807004 707591113 563693894 248257730 843950539 843837029 915815280 840999659 770017164 605211723 281340650 993974892 619192671 150903012 584602069 396348977 170392024 866609111 143000017 763173919 577202383 154530174 969650168 266138453 753343942 108385489 837923692 927594105 564917272 771759579 376154761 646626395 713142229 287231057 749128331 520417578 550336766 879782966 845765200 229153475 439723886 495529747 593283806 291379661 172791626 279901140 515457161 507050574 908950131 675926548 167253648 729060349 529836822 121609335 106779377 265629395 868119269 182089123 818414116 104758915 500542294 944073418 549156524 983122701 675528969 696381584 314202247 110471410 792087239 346148967 787713063 185917910 536067616 786416195 898648798 976240636 414437732 725916675 104480380 420553122 890380633 592217733 732501976 876782565 117962722 424614332 394544537 738801411 146609330 136336461 959032961 467569695 853124422 744134274 477571210 106460859 839689916 329815649 876027408 121959587 635191657 466885641 803740981 685624373 620030145 117348075 794835714 617291717 271865025 386992858 239392706 532400907 572896560 189637312 754820465 666676976 506915555 947558660 414913913 678989435 948430845 507877626 966064157 742601089 547541238 482548243 325835395 779152722 586019176 903991287 260687002 693595239 467924205 811847931 436296746 259636381 576778953 940651087 292642524 681920556 379256286 881076192 331470834 795506173 478487286 168083424 822526276 409770696 733901612 123039959 426351239 162541670 208585641 613109910 977287675 794557725 457040450 859900436 801428175 732962009 133692532 751041071 154430588 632822858 833184088 705852583 355403554 902014845 436512635 613078580 681350220 404097569 776527944 788269205 725744180 707729958 128829263 785255431 822698725 716550493 292052471 724283305 869601379 161835932 520462271 641598260 450788471 934200296 688015203 766408549 253939849 124849169 901055657 719193860 749361988 525191474 605001918 686735196 789998772 286072518 290974384 455667778 526955729 476141001 720556274 855673584 164802712 235015841 755359884 486209011 508285357 451365730 562403400 797348629 870873845 669805613 790417758 814214423 403563302 173818749 202860399 549997815 592046147 326817680 993373735 705823375 427208165 398558396 541836815 993451121 211098851 727023097 922084650 509264062 645321627 874006587 652265204 675598138 393135527 654779469 180931485 699359211 500938767 962269035 170783430 859032436 545250786 745153131 475412767 456077709 259619108 340917312 627910711 196649467 464724273 526427048 332197694 475722586 163919728 643254034 467289775 903552780 965615277 366814893 515323268 393650950 401234780 358391789 983792037 519871945 851206988 524785571 455874479 312155636 712002561 251243596 761679447 144522764 262363354 189957494 201538672 505470112 614192261 251163490 406565205 771311287 410801065 758901634 881097313 174847180 557631122 358909320 950941993 116706758 515228676 673533421 505039633 472314077 973768824 709265169 854783601 130118582 754936527 464144132 405525463 679528605 843069991 207596650 527961867 141355582 848973964 854975489 725713201 432143511 134551721 521723694 423149209 616797518 288217936 653763753 720017044 103922309 492927390 938942682 641396175 776247266 802778699 535951088 856436028 565451071 594501415 247550339 620288207 894609142 903016185 202782805 915137534 416563829 744477070 418099040 439005460 479709100 656930848 962194214 738660484 112485731 321840602 681342559 632355291 245951717 263912761 955674527 150806234 718667324 515722778 106496320 414917759 401118959 503958065 697055671 350036389 122522759 742346728 794092645 232664236 587859964 614127891 188432352 728561214 998462534 701211965 237509022 859623379 790420644 920106543 740777409 550290345 158718887 377476092 675990833 358290981 244753651 605478174 957171416 777433389 185926713 730101425 917574119 522094446 148939258 583986427 367151458 104757035 266285022 269329603 705238692 577520993 245107975 737292860 890355790 897100082 540396211 522806933 737969927 288602793 375876371 701772718 629836570 139175285 579693551 872301917 848299556 525122316 515258126 228780935 912098678 690182984 810682401 144479610 145026812 688007074 187476600 370260976 429147694 941418876 613710859 793938145 802809324 344359315 794121199 659341508 155557847 104180961 430040674 376820279 178708234 708660896 334279081 848407309 245776076 113492463 459311113 767621823 474229925 721995658 797729651 230707623 637322921 200503304 333648906 132014931 435946628 569303964 927067620 390379371 323364822 650009445 991782215 238443189 922399603 246688066 647249387 897787046 667945965 664985534 248141366 430402053 225961216 701296902 529434860 359954697 639321035 679151617 831313015 200275897 623102873 215828598 279455381 772085023 407235290 535717564 748946465 261321023 952636274 528482015 159144627 371577903 334172005 388872967 683647652 716115125 578652801 206937148 430757358 197781084 860725282 118546593 990156283 263949953 945937199 485202729 309162459 838250736 823326978 468916771 534019462 993581196 536908282 412401631 311021338 689846085 880603130 290072931 204450700 290903137 973019753 292064122 379789931 516737903 105438506 674857743 173784704 546034841 536445729 402563268 778078194 912266778 298068143 763434343 393056540 681276206 879798225 119048730 606101922 887074919 259277721 894610308 478883394 524233450 212843087 755153992 588060454 205939588 191995677 711763919 211301687 604179336 692075928 740427283 717372178 182867350 669433729 381303656 908529434 207736613 671856263 454892581 741016582 173322004 169656453 618830670 917433862 253908619 385844338 915457069 485217144 397006918 644007668 956552736 552623916 578891482 964767844 557980439 544266608 104993374 860406265 212894016 473723646 141145883 571473353 445400291 922351604 297817836 705294785 989030955 466474396 358773569 739141681 407700910 513924503 354459861 525432780 179243216 333590590 202917942 366025893 734924586 772046235 546681321 163625730 970531151 528696959 713014340 428630180 377339022 942759194 984311396 998153813 851017478 631861603 229468801 747239100 899250450 211638528 977924779 628391101 963847523 115445385 866852056 209574504 900608860 982888060 836212902 555493475 138349841 266040520 366525722 861630897 812139787 659216176 677928144 898467113 149697781 283423780 527227146 609926312 667456892 523453380 667214810 300854094 608178465 686164115 820455732 491360370 476341739 527753459 807494575 142933552 324537149 998446416 212648377 833737534 337946020 185581001 751334654 658866187 329717623 922238274 944701863 117403966 148802643 299392164 944322798 150274292 290074228 911391257 668321263 814360095 177673672 406391453 360726762 214857011 499894574 642974438 188748680 363644632 272536345 622721013 712253504 402345370 336667483 826691154 895255097 541300568 808266185 284135207 705815717 535047782 249167435 447971268 906307912 751621237 296503934 340409131 127790832 796372830 343963970 704251090 154943653 524774552 744078786 663927219 737990990 835005073 293354584 302437118 531442904 572971840 350230179 261421345 469103187 537810805 944523616 282547387 730314460 396281889 945900650 317960649 951626504 302804177 845093795 548301868 307328516 345821754 254550323 379161970 131349216 445524074 704630887 734022482 392869447 432914000 760865559 994210494 185065463 349938992 320708456 497100221 398047966 512853873 261453721 982598715 917929807 429060846 500593885 207186345 919786847 292141672 199221129 814222521 665470814 532795653 746965212 994112168 140654069 974171820 927330753 679638082 575552811 374669782 341351452 861782820 961155868 228421844 497580984 544524323 767417140 576709145 949593018 469407102 145792143 285456951 355300895 418136758 976364841 595791568 663754402 936101103 359423382 164503599 366680116 275962219 275408480 747348916 150683395 778723992 765580137 247453110 413556006 175277958 798224580 684812270 470951357 329411758 103453809 876722806 276615600 791004733 369404709 283949472 122311740 581205453 232353668 566254263 927019178 138520047 639627498 745941332 285738669 908788098 308883785 605930226 410817062 673923537 322133125 967077473 315263326 876771622 266076128 468039465 224887961 555187457 307885880 765577592 708305228 505511705 443532292 298681531 244432642 663502480 738264818 822281966 495437943 253632430 292919989 768758934 567700998 400825709 599492450 454289197 803939991 882233341 387242201 212393648 911675056 538603291 261633823 761806508 722203196 238805269 514787455 968026566 167069952 292110817 590797576 342654291 651868306 124070305 475486976 565960632 350160985 757078444 764305384 271451551 358414838 524295761 889104537 183564226 703236371 943785837 967815902 640202140 345257417 921189329 751967912 625592096 990146190 552803742 508997051 117296658 860995998 522245745 332506761 498711451 882517015 379042083 550871590 678788105 703531025 350539197 841657965 728351362 317173697 195647146 202760136 465348462 934000130 909290555 377043630 903541071 257245681 966424258 205219337 975326652 464641422 505802821 400289604 975490964 478864049 151470452 549931207 937798026 383017863 125146532 354077434 885821180 550097180 520345144 271767037 125427693 266593792 577103470 509220098 658355664 686102625 799280834 859086693 989542276 827134374 748314143 468756343 662528860 339633183 923845177 755030419 818696606 452869488 961149852 409017475 916503620 634657936 566572644 650542156 696850100 469563845 974885938 555290904 283691320 747503154 110627674 234670095 731129737 269828549 416578992 535003480 270729633 497585423 312175141 275520083 798893887 401701935 103912705 435919269 147713049 807518928 260126674 531256160 579058418 428173389 125605407 143595232 257589345 688488794 137732706 548278024 833223676 179600474 102639728 193654043 818849803 631629012 789806488 926510242 960630731 999579444 150862967 439706086 654721950 928767539 920352325 715545102 596161272 520536482 250787420 855302529 294124643 936837400 846848191 955278349 230197476 147844926 694750332 645316921 544554243 149040575 221528190 433786685 591682790 453856233 173160672 650733992 262424891 574952607 941386079 686456475 968749357 424650120 994230742 518834396 176141534 587594556 487790980 824560051 596807202 352350768 324265107 761768560 914870433 159962642 686414517 789193157 279121736 708825564 770435895 736072452 627378985 298399440 212536136 557784405 911516242 571813802 322819663 703570702 609406886 950218744 931600128 786592324 536135790 237644081 823889087 719293682 290191378 674549776 374478678 705009909 861961223 804431225 847211025 498391434 582812547 236481163 359922465 758888329 849567884 230595808 365432604 221388782 898328413 806059938 660422295 795814348 595639052 676380263 852155445 487978319 333203446 624559061 235231269 619876298 790092473 820562542 103737578 174289629 603301960 469635672 405115617 126274101 847303520 120605389 265679582 186078298 892995798 661069700 463058791 427716533 290518656 464727198 156801245 944498964 711984055 454451055 485127019 977246912 240588214 465382072 288729874 282678174 386234697 416257150 927457366 404123709 549186278 913686017 911890020 567575015 129680064 965295620 323221944 835854347 335201171 716314184 798712487 581852747 476102875 200519065 427977597 983894690 623654318 368432496 914602176 571907507 682266335 336741209 716463005 602366171 403246469 116584660 949453974 558327765 511472360 536540496 365103130 566414312 335960083 127292279 724478914 554356270 480306596 110478653 545469519 743273164 654598321 847486159 939486724 595771494 227554083 627501692 982083609 506866418 704951590 155205075 126173174 723398954 616838978 356275537 443427075 462784688 611156108 257155219 821672661 355418473 547618673 980471491 532743134 774615350 571190427 397341181 948182179 257737258 422616745 694337184 199964872 553393403 706917162 529685918 312899935 913153062 708519444 706542152 433478055 856979566 594266808 392429592 184128175 197936972 524922872 857431146 164589574 628782606 230345817 602577861 117703573 778249533 194624916 704794063 483242866 795423096 176461598 125487502 483924209 555499944 853573948 601460231 894853370 327009936 517346923 297748670 289062006 359543346 356466982 643609063 320779598 499586127 707595664 379463100 947864930 829662198 937428071 205649798 211516373 797541022 396601045 557138390 801665080 477930512 428110019 819550925 994752879 217023041 907581896 973547546 574850116 312602861 724847327 586331454 907378151 322754716 935930709 122550970 454875503 988064744 972978064 391490213 569953348 493616711 799853141 189536534 775755051 595517226 982570553 637221445 990195916 819639683 270470908 648632473 432048315 947458342 119135816 369859840 985637415 894688335 556054654 765905340 462339062 702087670 356973049 490955740 349829270 956485903 841936085 895082584 562029989 154097733 185448494 446679692 944104360 819887444 690390313 547010098 269552701 295726383 412938296 495601922 665302617 234569918 998008576 782630817 410200562 149287953 950626509 391853020 144725620 454412198 493286153 220033917 905262141 749544405 276974865 791775999 643055614 591618647 238806150 485102913 209374113 585154198 667477791 460511960 163453675 575532861 890719259 754902847 625235570 419535045 642425754 290059340 222203636 891750738 876669320 352051234 362809554 335268071 250241192 148710124 241234895 832370594 938307582 441114296 418143072 220745296 631699739 484725827 843255442 683864991 259256350 421283215 966572106 702477400 491231105 180716612 748996040 780181139 158746214 974902605 720052913 196973045 779058872 162636927 617096388 161604449 328017679 254992291 402453120 342768411 129301835 242406337 869294503 549461457 862547001 862272774 264903140 393174920 756083534 605081394 215937193 385460216 608274448 262682973 150617432 428898776 937036830 726021442 641650219 410720707 209020680 395606102 229617472 364666052 417738254 873165519 691720075 390698651 579926193 160490900 598017224 966566584 647486085 488903980 562973689 213160715 461381463 386118304 122534831 232495534 536087499 512863504 482015136 529438177 800037606 304504541 603746024 269727357 839890098 702194256 183523362 268316875 306504008 308222416 487035457 623734759 963824488 985154680 667684517 505510955 905156665 767066532 348863833 167418386 109869546 972163104 878788776 743214333 558836911 404400064 419038079 130328165 120778432 895590513 911551616 371464297 675299916 461913125 190906488 876038418 646722452 140968089 189389258 151161930 107086815 499250424 310512762 131595525 454875002 228019333 996859540 783395330 235756002 349074199 254423237 165178616 209110077 587135996 830036386 809172183 934294815 467086058 175061715 588028850 831008435 739031147 562963255 612892675 352681385 790163325 340066691 144967493 897031232 718361213 137668713 940142691 424570019 276958218 335697401 592056670 975366533 665871906 636299198 997057392 381057760 246647485 200006721 945891461 949654467 632936382 256203257 383621322 315125800 152796665 461943116 610754730 264461515 214410409 916575983 633636723 701864147 119195092 308661995 886829183 123963727 741373894 375180542 812578511 239406599 504771122 189028989 419954718 645858046 400459516 539718559 729712060 361105738 912500421 971388491 489790860 209327316 896544490 402244451 393615431 489024390 298724641 387917790 103207074 599749532 490249793 331683879 229598172 883613468 707886167 553371860 123509805 596164796 416608068 891122464 485725808 355644651 288592502 950349485 976993968 307068061 898868729 752199362 147100073 648716008 242481577 425071323 793838442 697564135 538565861 484861816 166597183 610637701 933462016 267427012 999375227 760748233 873453074 309995681 580838730 146236151 864652974 347344059 214498811 802937161 530030027 356324821 815767340 803810717 392715978 704120992 293366548 811038422 159609763 291197118 971935083 240784496 133643921 225377015 565697471 182973810 182418016 810940798 538013209 856916364 606193866 687169138 788126473 321419427 769993724 717392606 590112147 117552644 155582958 892233799 850598130 685297378 784568113 320815626 500983001 534705813 493119824 538091187 136919587 939614854 246977972 767989707 236515565 694213234 419105387 258903349 378368393 734095898 338072744 843856335 999137827 790727034 523732199 521904170 553364816 666316880 692251638 201631585 182434689 328519835 719276543 609815500 273396339 396698830 745372681 170550090 124553579 263752990 922372880 873177727 573557042 553447711 751656451 833006617 292849775 737928502 451254838 687438891 278911518 232591198 518684499 724986154 189240476 112273674 118868319 633079018 973731061 127605585 125935810 136611614 763443266 885377102 482667189 909830609 345715837 890273207 765447017 438172438 890305491 690306307 377185680 748238105 945269725 972489055 528208865 433753693 171879755 663440645 321165108 804781976 538875575 673387972 619864039 799682940 130589517 288683661 901401783 373364081 748766528 273009397 218814759 162109171 488697589 964974215 791787210 677392392 125343739 228777524 163381740 241515960 225180806 158021730 510711080 852609091 618570358 367533260 190506758 718633526 297059600 210496115 152967459 307408657 733074051 931652930 849027269 944646062 650089681 310811172 432628532 703131154 947837165 754098276 922780427 295946960 986360449 173021818 779538939 145040727 165325899 136956044 545953871 353654267 509921844 203159806 704318051 379854606 721436204 995447149 795441971 845646166 500940123 808790096 441915550 915237000 338538967 539353286 850412146 343117761 878608017 184041524 755135950 927187114 977007819 184619392 277994791 733018768 961800894 945178275 184394271 502655427 850889454 416547433 840117954 301067610 246339668 302513456 385881566 324349966 464202892 539180950 332872346 633127922 918643713 976061646 356547116 626470677 588483080 732823154 112018493 709500366 839660572 184368333 693557606 422420307 525211827 154558995 225860583 771353772 779940774 306125868 415887641 143521749 147785742 965695911 810500360 407427526 687172958 974514910 972185871 159367577 748965826 967336257 593033471 201026007 731513897 352395934 318910976 884383873 339056545 184757452 357951483 475443620 256148735 744514535 193330661 263742590 907541146 969791233 164074703 908486375 597022319 665176055 855086086 501784953 912048455 188099980 456610350 740887692 365373026 957332325 546404317 277852492 859928350 983892997 972408230 723117235 369552562 389079693 391281178 578007638 160538934 673111694 551531299 864062751 297160227 637927611 375330513 820336900 188530583 418467952 986763343 928738744 728959623 918783307 568131121 648116670 656610653 511697344 851191433 767207746 651880751 627829361 894743691 477918498 285146772 711084204 170608559 663698847 501566447 109968349 699023361 219329615 173450758 507237455 559818043 669413697 685431675 714124631 422677089 369533028 311076032 459415225 999201667 947262706 992445400 870964505 540834700 698874553 488980981 658655020 596721872 594389121 944201030 317645275 624634606 106278694 694058598 303821971 771807700 381758319 410861425 333669082 624242971 790100498 555669330 284061726 127528731 828809818 545773620 249736701 479183974 800465587 512784646 696409864 101763412 250448510 541903664 508271561 554614440 523413466 580892546 424895666 234395515 780332940 357928773 813925024 257561353 954255894 177179679 615096403 117184637 878034381 831885938 297023971 731406138 350432560 254102980 709915907 560966798 958105813 951270243 511772079 622169648 362452510 750586588 800979179 257345351 696905925 185360883 260544537 770313604 653594530 466066853 889246297 626888917 261274650 686230175 301388624 537536283 467464139 299472486 732533265 798001163 272543369 461979965 137658124 233446665 163519062 332894313 736512253 696180145 817779160 671676933 477638637 364836251 263969709 447353518 333595890 710994729 486966175 331912964 416971658 263048935 616708750 797519080 256909915 684441138 900152486 249106185 814214065 935197621 988737496 162174939 593393784 578068626 458951161 246111978 729107633 135239546 514325633 920772277 764642900 993305468 854449302 418893779 852663705 213533802 860188177 157974577 202532578 161540719 241952812 395153306 174776168 410713942 473280953 106540247 606597716 593740971 984773786 637049420 653669367 691961707 220893178 538792368 678492944 561212560 111946370 650599804 497116762 586888023 723418524 658429695 940997701 215617445 629352441 795291084 589390306 884134030 594964832 408187642 336209400 177014881 708563222 641465512 645659819 145826223 213561895 477001969 679367151 624602147 731615313 190853284 357471297 731431717 112299693 782946946 769461811 233520873 753678550 603279437 397028425 667907665 891268433 540116391 369927813 581987387 118773332 143910786 820544524 548403439 512063265 648311700 180830312 974069829 488915465 657773591 895150533 875052727 789473767 467208308 496660943 766260944 151415642 299525618 578635660 874933035 977798905 966747338 712020677 112202161 975403794 106007669 631561282 694770154 879504824 821858123 977412268 841249101 670438138 256458250 619419131 491464544 586630275 864536881 250222272 920480273 374022972 517210985 315296841 320265422 192174023 679894048 883647885 611919711 968899323 442967492 206787114 474954169 836180653 809594698 695749912 526194209 543081539 831016428 238337675 229524675 182760974 463775936 346782532 201871686 907776367 223054791 313912679 585333330 896881179 419836896 437843351 658852491 969534912 117500246 766393228 657371673 170005831 669704662 131076329 457437836 129456661 298372884 101266199 371392687 261373137 607213126 378204501 700700156 114813183 746235336 140611507 343150392 659529152 699245983 312159103 797739891 345702661 518618731 585595413 712631420 221926776 490073211 659211541 460278179 460232862 496222914 628718001 504665139 171182336 684577719 281385178 284772200 614561416 947606457 969001504 704515896 812507142 919368278 635591705 614911650 545613167 536782163 437451203 221046485 119076350 311245289 203138423 978668289 217287768 325830367 604704910 992074642 178856444 713493006 472875220 840256701 656350903 902848764 793482666 878755123 856731833 340272082 940956516 460219250 153932175 289461657 915890788 317227391 266178134 233777377 298951875 786195611 945934978 123351317 961124305 712865889 693863189 615883459 332747868 788247913 656966386 198627673 235447269 623518589 404740737 257755832 401885403 349578743 640973316 142023237 245591767 636375908 365214229 980677595 404210074 451604521 222299117 542355201 488995309 556482416 568542691 972478763 976496590 354882283 741874091 237584191 738940923 110464109 248491845 372874334 464264348 851982750 176531643 204199035 669790193 540888927 604982458 648951334 992372849 438297470 152032525 592792431 426674208 295436546 211393815 737273585 329801189 254442763 295379867 676366599 120887379 422051352 497427450 554916174 256461863 678168020 859683251 234599223 599862350 686464985 423031762 949663105 699895534 642792757 499019440 161243350 581988186 820894923 295684332 220773270 274555742 875705361 513406115 889497165 975957403 229534970 837337498 134804988 608906568 423023035 474187483 459747115 172293582 978349894 309464883 128745611 848850892 813423437 751849503 937816589 171268695 768756178 612973893 962919938 334079721 961739969 240561360 118815744 486436128 304139478 714492928 801274711 398431457 884458503 998363326 330206321 993370646 728166380 161486718 646434378 397230938 160613640 133972759 573483495 514048978 490858927 418403437 393384186 132855399 543395513 437418171 683585870 222375852 329077259 400113304 185306447 705735531 290711582 198525739 325609646 656516614 709214774 622632597 477589074 513812006 625629258 564869054 179643115 688483847 343565291 953816163 805653351 199216666 772157946 148604264 775282723 875499262 610790314 595324920 463767743 487330414 688608931 565676533 167213311 593100748 552033596 121235440 285766766 239118683 832534987 597692724 496736235 536710251 343020651 304481418 890373064 297053448 246825607 477566127 167580438 771152120 110580198 474391370 245133878 497295888 167343885 994144210 681938654 120696023 854944415 645097903 450883529 272341507 759732571 812286487 761600220 679840319 955083242 301753254 515813770 832126379 749288963 880396190 114826786 992088152 574526526 985528998 974566715 722228482 650566297 442729896 197149244 342340200 602101137 242768502 635005794 787252940 353588878 895637516 777131250 687836559 653522895 969365294 306876883 475940250 533127875 790263454 290811437 751893659 887065476 485611694 840480978 703012503 525204569 473932706 224730182 289777082 619898792 599378466 355737690 998270670 675727792 812774703 245611576 834744730 866687504 493551438 688757370 396684840 231322110 395109319 566251976 222442943 185418102 247958393 399448122 806126276 530002902 925152484 324276445 558474898 412088376 222427895 895515585 870904789 145786393 191594594 127204862 618981936 768169218 136726261 448955645 569240219 501974101 576640326 763706595 957121731 409984878 540409428 549184870 625745831 200587676 778572601 693919066 396321605 152015143 671760274 252652762 241552374 403129172 847455719 584860558 373951196 163112383 131898402 505609917 381940289 349445465 532275993 208917352 460107273 266811241 766620859 457514202 351118806 404460803 790664552 900484093 286061704 421184365 700612216 820282398 226826080 933020049 320342053 157338683 165080217 953568652 225222899 749216463 675393038 420302199 681704061 183776586 135401273 871581145 673463547 246178288 647242679 696483033 374095525 244298275 490784737 365959803 280759239 942335294 469205674 912898432 539499603 530568577 209491384 588842654 734987218 423721427 332575793 592065451 299250057 911377085 515803625 569938934 680448735 431799809 637377825 268534147 269152950 796458932 645967714 767502012 956457938 687200886 906188050 625828242 199991635 859190453 840622697 494326501 315948181 186565250 397290141 807343889 519312645 185926850 554226175 343265205 566695699 790030087 631654266 994066180 748342652 204807138 770690843 443204010 770091345 233231318 388812720 452961888 398695095 861043732 384596929 262579951 402463940 711984439 777578977 783688178 827023109 197126551 568239973 489845816 327870745 731230080 817933054 591258902 626620274 712225284 863498310 512660046 633156728 541061966 945978015 851367331 907527041 111369749 855687540 879352311 200742109 263023499 265946889 458777135 991195938 951964760 828696575 508035519 982527074 106327918 170205542 436094243 324554008 570534082 846561134 710469827 710416217 740280439 994113738 402748958 700401629 630444247 303929560 428667975 202921995 155186123 330153480 108963813 331803328 949342866 994407018 457959626 503421794 588758668 253660647 804490723 671493776 277984676 414274657 716897376 402394834 840474857 912309178 769634134 742827973 112641156 944156688 318694334 832216784 178886277 993179420 997337775 473326239 926984441 773804033 332915502 215156670 205564584 244795512 198498218 630393289 278853840 651527099 626570903 987578339 798644020 173023528 842921856 297303378 712774750 771793716 961355697 823907736 995885685 862547953 392031437 819885171 512857123 534975701 851266183 753699280 210956250 438289288 903020719 346817898 539242315 695569496 512015074 216717110 407966032 755610671 962464726 620239056 236197163 290755908 574699332 949415399 823508519 991036935 155172947 894784588 560848488 849878413 381857922 640799461 480517656 729744400 818505722 561289413 754683273 300166221 133556234 540736514 348061830 816063233 878978795 525981834 125236169 683875933 187817331 772915363 688036999 466803442 864015668 761301732 357934386 145293656 698738138 218102908 213353026 660520146 360581218 253696871 946954476 708907196 587216683 929657408 353640965 224561367 264564907 154832329 688700107 155283700 131037213 732851829 411655706 937365086 918304133 580396179 526673045 788476020 980329394 368919024 273306866 616229902 993412285 849218688 339172835 883962492 474058301 251662519 196953843 794175119 280425224 761864857 763081732 892391950 646606571 989291324 847353933 315304525 233567910 133959799 832494573 169964067 369891948 382482862 180793332 314306215 527293699 289032492 185870060 783120748 655704593 394249133 234946114 710006487 297513222 942814947 666206431 745236758 536542998 641015135 239761891 366865848 600204396 689818578 723726651 964384135 143551966 417960460 644480729 460193621 626992826 541700151 604865562 598962300 754365323 537458505 159832930 341608497 505666261 746036847 853012615 702700957 130669615 703369975 526967062 756445425 746689864 354482283 494620464 764591075 451232011 160821883 916747655 597093560 917044881 369073487 381876380 332007252 788503530 217163847 776824374 602700420 160993270 354931986 138194245 411164678 371448667 254372891 544386515 466197517 285145547 399891401 290632615 196465102 879005384 566537400 128807838 903318535 860107837 407061147 208199020 320973699 681036232 732122283 745064762 208565508 191564260 524442758 998270823 241775592 348765557 765736101 444151856 604268855 902655826 566165021 991693010 474884088 922226765 660482627 719565548 500762642 107399012 275773511 640255622 784188563 183269423 124153370 596976223 597405095 407145070 569685684 264555314 693148302 362792461 778557330 997982316 999227070 469664962 504645246 132150413 938181382 485886614 276342460 848501823 449269491 673835945 561687809 993245812 683740929 982370937 757364756 631413561 756497244 451353021 241128036 295757599 605084929 875025807 883357542 347069563 162843031 469803626 247140101 744699932 645425420 362359688 625860640 482538085 936956437 582869331 247568553 464398018 642160886 467357408 749094369 863568837 223086110 316785922 278911273 926291018 327264548 608250441 149164430 414998668 550522996 808753936 159802090 939089573 229783993 484189837 370103618 394626966 298283437 236816856 437037090 778091435 728096053 422379000 191785970 431715981 752657184 554942854 286439678 522035767 697714785 833094620 393442290 235262012 244611409 232116691 920947948 224743355 506681307 890912952 668661899 764266796 544012209 577456889 624666578 944656364 310445609 172323926 248159966 689100319 950558450 995154418 949442494 665937995 169398388 482168325 390603638 699198223 993313612 701126165 953869857 959481272 455756386 278422416 879513089 481734416 402071057 950284230 174420069 468839109 744674616 454785566 622619149 186500288 917791856 786210900 379177011 761061856 968677196 578850929 203759902 524438166 611486367 538401827 871741470 942580024 117837078 762612670 480488182 694182168 789847710 698703583 922904765 533443604 380021431 316349296 727528414 878017843 828158750 152075549 453132009 665309344 141085261 569769596 175961215 201264337 189232001 520045255 352749564 199286535 403806533 665241158 270460741 710286545 379096427 247473833 275919548 487623323 515499033 900430753 474527388 273754798 248956270 664103435 496320638 617130275 695337955 372893220 249703398 770424121 801357542 905592375 950381093 978481493 241207228 494931177 445970005 477012937 882368233 421470466 166398037 443902777 619536421 919340035 812591520 953479679 102904281 491206740 354335601 834993782 169089050 165639170 684978600 499841234 862853540 327773067 662046370 973940668 258933869 488517051 825769473 996857736 473402837 121239851 398077555 902288524 550777456 510377496 332208877 873051498 818423987 392979311 528951306 240049830 377207069 192566175 499712910 823481867 550196912 728028339 967336640 492381420 502665883 777966401 377016590 856393360 366560974 303115107 642125898 269017982 861511084 607694746 949179544 420522242 888833194 413147547 433427255 262000002 958528388 506313840 878142535 203307202 288687494 783875892 758237305 950769202 895286365 794577882 572688618 461319913 768307585 367768465 201816637 146464938 116711088 860371648 435398901 189660822 670956706 502449872 429533992 904160901 300831282 612444410 729695709 430927785 592671885 340961387 479008189 184230406 280270919 147771099 627427704 882498598 891154212 852542436 953616836 959903499 128621534 307585882 953346825 965604745 836628378 836897411 154985504 441268370 153630166 793065487 262405026 580013225 582458656 519148399 443750744 208795804 549040985 915402669 342348950 650056277 712371059 610800088 771846563 972680917 124086299 729636412 844068796 264016175 694064581 857098512 746260731 294929082 724913222 738003634 131884978 597633690 921851568 164773785 803342735 858948317 872323804 366202992 468939054 910129177 909286433 143567420 323762877 471479750 201542671 811631821 307518332 617821906 963591933 348069077 847323456 277421500 798354390 683266354 519861403 482162323 327978319 119946016 948798317 901138557 255496797 380737748 722274511 186717207 975348594 823270501 663937853 846199494 769120864 302605059 639518093 276775388 799795387 777756328 754966508 755587339 970586450 422370705 670535842 487067828 930946406 163914196 861316822 162468646 757917798 872882325 462350857 264042636 238897359 279746117 843201219 189709025 841969580 594145106 875278061 458964805 302783342 731673565 237831125 884250321 524431570 320068055 882664346 363579538 702618404 379310208 404009513 225431577 953168951 490334362 218197100 411681698 199389683 807455893 716370676 270062170 423001284 856163123 308932444 455981505 971377786 309844133 851765212 373102810 693207416 949529934 188487750 901901209 774211552 294307208 501899658 440404576 766696684 216855332 323811593 455563881 583245101 758601002 509639613 185257566 163406769 818404752 663371483 445898839 496556951 626107147 897732666 694001889 672671117 368197225 198087830 934587708 986773216 807753625 800179894 149190396 400969927 322823058 347959275 637820429 984077569 604329625 324856364 167506999 509800996 724013523 101063712 562317262 906295316 741281471 417995627 938214633 668615088 331181366 662715390 221149796 570697567 197227941 872458353 502460200 826524674 271184230 245501793 973880557 559543506 587691509 994646305 608733088 456337357 618089715 989502484 827183698 237253276 457297613 681841935 563649016 642535449 385382445 765412058 378648831 807906984 766619422 374558616 534689203 457358966 137732418 142369758 481795029 781060625 447732624 134311641 294319274 303647067 212497351 849801373 709060257 579197448 327799622 524204692 760216517 557758921 219251907 922462822 186164845 263668418 810771003 779029317 176639608 823748104 344790963 938188531 796868915 922200939 831073400 398978588 871987502 565815951 957090766 129568904 402306190 210331877 309428018 432339082 999475114 843836177 760389802 678011793 414525206 962902154 741723274 238578370 457114729 401123554 620252943 263847518 777605138 741202502 933555157 706199159 812935061 837779865 874160416 214736281 114737951 307548692 180391645 298780484 765176940 223795175 617436624 845863586 192355675 148030368 219969853 249519363 842485642 182106302 841100737 959650798 866439788 207824904 246412541 447746967 739723183 106037735 963161566 778030883 764613342 376566057 628075579 362070531 845241186 691893638 938568787 995873513 123786389 652834333 215957976 843741993 954079712 891891616 351746634 651073456 639987169 313415037 677097811 809205923 627050406 659398882 380420059 468631767 785073816 116086141 893367089 472725376 948527267 491524340 713702926 905820350 923652246 857285731 710265564 607702088 379978833 654234238 940654822 781526193 948186103 217717372 272618340 870736677 533403625 845111834 521413889 176045567 488787134 987351702 958520226 677836924 439194105 449037247 111701184 901533695 158688056 430478664 486836614 250895949 841597986 536049530 737346195 703014082 962460869 591498151 901295662 757696899 564060400 245121783 122535173 787443133 458682720 982332288 260981893 449947732 244288172 313957879 183180647 365503751 112454172 822776569 300963281 357005971 455330442 312005491 564721072 388597487 144309947 809442935 902999398 198853720 978867294 824505253 638780845 732658661 304047802 726185954 744691137 395620132 167104061 740087410 416344296 484571972 249073694 962692592 836007863 241240759 984653925 207112141 746130588 741729613 277221783 294039021 913919935 482341934 313348038 247840533 998130303 399437675 666106177 766993260 591584721 589022237 834141670 292411764 765168666 981098178 740291267 625753426 652318162 398531482 520407377 226287103 760523486 643692317 300916606 105756824 783121102 492197787 451901411 627008314 521522548 154822302 295947489 576719986 279179339 324442523 343083315 603414046 308793344 269585737 476999802 840759025 361679189 966755521 379350022 203445793 113799763 905242312 245402472 813147878 789304175 797769301 499510935 436182560 479077120 382102626 424329378 250575888 483246142 632473529 637336670 154909590 480608500 470816814 821458085 801281201 810695886 592060592 446368762 650091133 147239142 117846616 149632434 807096734 279042674 650637540 544982987 829697744 503945773 443654775 124842374 830582643 543707718 710793919 949653216 190336795 292003273 999013655 993228563 167927180 342737229 554353591 563111182 249003827 186991482 704091125 717737735 146402307 350288467 507425275 842254541 828289604 775848575 699530108 140359038 215382185 150434739 118939024 812926355 204862036 390751126 429695499 143533749 746532559 654078147 356704830 990743261 429991934 336014180 767978611 460616612 791615084 352653434 948996419 337488811 651990259 320317683 288008677 347891116 534094355 130962835 753242767 705493032 231949545 274965859 589780983 164286271 817117570 802656478 787785256 267561184 938897557 920785573 618810269 301942351 724244190 567059203 895018088 633199018 529219673 792065826 903585924 116229194 974782610 801212878 402117064 469277233 948087259 789329257 981812573 920794713 710316446 705561642 708858859 357980037 734064836 530556027 751459606 678671882 471130456 310314584 577930934 638574910 496830423 385470891 775783131 886698012 177578502 788632363 632221128 430968899 691444392 986673811 395874571 737500313 594845793 133794073 530201700 558772720 201641038 371380769 225344207 618318051 555913602 327939432 513183571 674665392 428989684 907742391 375455868 228493023 731970330 796196585 600615712 153685483 435922960 204174635 967523302 554463025 647208810 402561811 601737061 626363826 125538922 775628460 402916631 251516097 765614022 446461877 810694111 171481007 492001722 796398832 426532863 909777898 494774637 298235339 680273961 599331983 216406418 449355166 106406783 591063895 978791231 749695726 455361027 279451624 687131491 868297659 421601225 214750349 552256472 659244433 794063646 560162085 443927054 151169125 428248794 511869706 666661735 197919936 142647522 450018641 318804440 937274015 933590151 971372263 557097957 443698678 429684816 502933789 936697970 328512375 623621486 813916314 958381840 259383309 773186289 438319107 298133735 358493756 779500044 685075637 810680153 345307601 389442343 819473236 812313203 512879358 806942303 957960089 342628829 387866453 937375653 668429244 126807420 532879589 565515787 231279746 740254210 623251079 795538858 799724302 295626214 192911740 599372763 884930298 913222402 982963223 350083565 837885700 545431760 237981213 647840751 935791959 904807082 532923731 839150117 747116738 921795646 354281484 399235660 936038197 638827618 237924654 566661440 680139547 793320442 292835340 371095277 138694396 176358554 459088060 656805376 268741588 453584353 473597110 108915242 684963371 808313616 216697253 935977035 974329222 317990440 397303672 752359899 964646439 897892168 699807211 688551952 524687376 349864164 406290039 599113090 961160776 459455840 934043361 567403161 119570882 618540195 765892745 852471617 846154859 626782884 406738431 967326991 282379812 725039657 761447455 441481693 691730201 110386372 552916522 758060203 420961918 174384876 318548492 538358774 114073749 508988441 122298815 977697766 654868992 901491304 512538371 978713222 918931468 119027985 653071239 831287376 609384661 633137003 429528591 433005834 527803266 459444113 209551219 676005436 101508192 626321614 673303937 989344654 611852180 752237797 852578143 513308160 175473000 432996098 300703018 845637663 106594141 896455906 148488861 293844951 223543350 320905996 664246559 339170068 830109622 146431062 591261801 873003533 212869835 980049292 848713644 796772553 829517281 958863418 237733098 950271088 530408627 787884609 508256015 777840498 815382209 839204868 569449055 769306279 872543499 408578747 911529333 287988464 179582749 325521081 138596851 279088839 846426013 683460799 634560106 516239946 586100465 245595613 453617842 195856435 888860444 613207452 482882575 205644541 158874087 199148043 192059328 974935357 301003512 734670007 207255907 582349128 541865007 744422950 507115665 174615114 717470569 363774505 292340794 635539351 888093688 439442248 266766358 105671110 430072139 946940951 752100144 773781802 746514679 265425590 780817051 572800784 769735511 165710083 641249310 124416390 518659790 198618697 603752589 339982361 859990468 907231696 392305717 793519567 336441285 291238938 124616234 464981216 917433289 740996471 190095355 105039034 984197501 441341389 461417235 102638017 426200098 408928884 845018141 776056538 165319384 870983683 303354920 745802701 817062823 931870337 774651406 735610873 997182798 221884540 850637017 665410588 880611380 181633599 490017208 802152041 664017256 271077797 626723262 696587372 184471817 329766944 558341951 948436691 571756360 640932122 426068265 550553402 223719243 293791139 238606575 217638847 581086821 983152876 490879384 644381423 410866802 306775296 257231491 152159511 635909122 418169886 914754516 864210422 122622734 216187662 775105407 320609092 767079024 702870861 947166839 949608401 131075332 829723275 857116715 597046119 650083665 360412120 332770978 373654195 556556588 658091767 400079891 928667316 880275649 180090091 526913452 729638471 352567513 865954644 725953713 670990719 579442033 431176432 928687619 383883326 493288685 628712008 104740031 779287604 907026494 173807724 193927428 395864631 583675510 128747293 752686809 330721073 109806635 549093437 468544738 748835825 902296679 554693888 471863016 986149948 915120353 903138690 503933118 121662193 924778521 354962350 549465240 428349710 983491083 692043514 651504762 129883936 857373695 551056140 464416776 244576598 325817918 679836271 357595337 815995919 656102769 264768605 488076110 525150764 712203764 886440912 542706124 949060026 712040466 755648914 965973169 754093823 706348480 933844795 762788979 909054213 543846746 525607692 381984602 418085629 822212409 321046275 855694221 291215385 936495913 272133729 673592383 376170654 107085228 191550671 940462297 200065895 908446188 936944285 467638857 102805714 842428053 154539470 112823784 834110773 396701571 477139499 196205316 354100069 431600031 223930274 916877325 354301775 155328177 838356880 182562342 577239770 941122737 851577908 443443109 166249081 184617092 533257860 568408912 893498063 763391024 637707596 706721996 258877551 355012481 504592481 401219237 234866833 746581948 371777675 459473880 303618612 544422051 565138944 283305631 557444619 273987461 673888457 166747613 125713223 238855669 390023183 446837665 371758765 302844622 576039125 361489378 959603686 626554574 341703795 140279576 194629307 484523970 888590026 486747520 718441713 299125438 146044181 206200836 413127818 438820475 319095427 641188635 171992237 173917897 256032012 959615719 348739112 673185762 104366473 965360959 916785405 676450256 649119329 355769112 254918416 920992683 495809674 966624834 673462159 269525880 462491421 942574001 863415782 769323930 588370653 508264116 512641685 584899375 766539168 631086507 427110093 266344231 297029194 396852495 178803467 525206734 309569555 856869755 746628517 433004564 236340369 257511747 235876622 777968671 714946433 826042144 227147102 225700275 129531167 202940490 930440006 357108234 849046986 913379697 737245457 913135966 408207381 479769564 144750963 354923925 644634676 171919706 575877479 592065208 292193949 114923085 728040968 519887382 437292226 167024241 717052888 886750621 385005959 946987487 589519363 592054026 529684215 292826220 808345182 849079998 658772117 911520906 314126344 736691331 678800020 628307424 785088411 995067328 955344538 220881213 187508265 685736814 846336618 946263510 393998321 996829601 964973550 279641844 757407837 125878289 554512874 723443037 563022499 625756466 376707428 736816144 284536345 818763391 886703956 730013562 562407378 682164851 145649946 561569427 338870548 618020669 920653431 995334609 397761017 320075017 214241598 689947669 142634393 781563326 568376896 828550227 228857430 405099812 314101304 111538624 715181967 410763026 607914536 398158635 960288628 700043920 106451535 772365518 515937061 963534656 999221062 406610125 651412199 867779134 929272013 429834212 383666589 794530223 785651119 480446300 388856828 345004542 235094677 355106390 166519704 465974607 785295394 590787680 899568978 156155288 799928723 230741312 864016361 778610656 934943221 321838966 572731123 754917318 114923942 327333852 551280679 265361131 897062703 603044728 248078051 481540078 182516213 722116954 695688737 222465501 478623705 411440954 233758454 766797591 366424357 666463521 133670612 894278067 528395135 203029259 915375832 163900417 294733682 128502398 243050770 494228043 637526001 732201481 754280133 522387319 169964404 578248015 928987402 539867273 434379493 235085573 350794059 865716650 285963492 970075221 689772668 336734618 526724470 965964738 933061297 809372176 200635854 702337346 383630958 951311451 311867726 575183264 407819521 232256674 676895984 654846419 396149317 327767454 822059204 226553897 275194811 815124782 495212232 373776592 287646340 128439836 486440563 773979532 553059995 172724031 533902475 574441401 813446740 130857073 878370307 148152915 709322908 775775626 753425758 766252261 253029703 369314847 902885651 853275976 689051840 699046669 331981506 463829917 180132237 161126219 220421724 497388347 196066983 288414554 668580971 150315464 246573732 610281622 392269419 726554185 661648440 599331822 432322438 524755029 660031324 251858265 247701504 672457175 172764915 767638672 590037085 278548669 169098730 285391031 399956154 635271734 236332744 657244725 902726447 390674574 770128153 784882268 467946697 630665389 583208713 887190958 191614427 121082337 486972423 696110783 169192175 679417577 640055454 163486123 172720851 340957708 379413348 414344169 332450991 442565206 999094103 686552447 156195664 554349187 293687307 436492120 563954435 421592737 702669899 186417829 136241576 556316606 395347040 529507940 450047247 644162677 770689193 955286799 200781275 863407423 889151926 589061750 720271882 415114957 108810091 358720630 875462781 905568536 222544442 554685285 887874130 399173338 307547946 387648475 459697554 518053884 310921460 319634431 340668834 861961093 840852012 799965479 637926126 850021501 200241192 834387456 174329725 608544833 354765746 103048585 332524614 688800197 724479562 325679772 245348570 351645216 700193040 660349247 929462539 295563012 814232005 607484670 235378263 178802715 547678048 866980610 311959225 564628975 240672783 175993998 930893141 871792727 555974065 512238478 967796572 111424890 636463706 624774003 356378062 166030168 599358370 887869187 157065091 911688646 742622828 578286071 211620607 306289688 105841375 739266109 748739853 424264481 372024910 285751156 827113336 645271251 230477268 352334835 997538716 959031370 700228536 369772361 582426130 614340451 825917840 304707067 283608867 596048315 846161129 310277222 927544857 344050167 792452629 550404233 792674475 417906625 146877885 296321779 293777927 421609859 393860551 383208887 517106790 522070233 101513093 721312700 747191042 432585954 210479861 328217849 640023630 603256302 688667278 952466023 732245807 783338820 649670168 266014819 341493705 651204324 739936892 147448397 368784627 623140231 883394466 828055548 806904851 906268715 405372916 589407984 281813194 835833397 835849424 527613167 529276404 874413291 374125864 786076991 565483793 987306025 696031534 682475550 741804931 794297656 495824190 991754554 557798384 639403914 526339223 428676745 974657111 535768958 130919930 360776469 770396005 256834422 514855789 920280737 691703587 536200511 971763048 530284730 277340555 665037383 626389931 526521230 808008426 721516290 658486178 801422823 291548642 267620697 135973394 580505644 807702421 805944316 821169435 743557274 961811875 224875307 899919967 296690089 728518433 801845803 928275137 361081907 351483088 353074949 283391469 869502680 250370126 845253003 577882261 554493717 893619579 494867739 665880800 973298950 967626942 818861784 680733140 783521183 305540900 541144199 365589873 892848361 787393560 879314431 426587960 475062921 486355262 449439874 735655415 979954245 321657782 813812232 949517130 140900286 928238531 308478802 123356028 203910601 197008776 702491805 274918556 931219690 543011149 296094683 285786173 139070140 770424180 537672351 175280875 818977561 184596826 738250316 208839681 246613201 206449338 625132004 451328217 470912228 216303030 954574602 653910941 402476948 709947723 970694026 740808267 773571056 579946460 734315381 736815491 337397333 459409346 222979676 760191756 860595448 924181471 527500642 389306285 553421687 295937128 859883635 521878851 353967516 911715058 674304662 155226220 672374766 439408236 808502208 770640395 712036283 275541685 274356261 907361265 499187550 573866807 317801221 668692690 457745636 993205087 250860863 720103429 946863109 834308630 444804775 737733268 981773055 432066478 360774888 288592862 309941986 851984886 694171465 901054055 727239633 576150029 393283233 205144221 902894729 250428627 698860039 826272157 612861076 972652182 229374238 300869697 620313056 798178285 123359457 271416309 298723044 374426557 986588270 837547290 467846358 442222147 255153116 332620787 811316240 919463407 912494642 738386244 291915687 958738628 176683838 422208964 117365399 126008383 939605528 374990180 891400805 873396292 151991118 522990867 376085391 130111841 651862347 444237823 437054257 544871749 873944638 717710084 804487635 852218508 674899516 497248470 892407220 597454346 788293386 691891794 913664956 572869310 371297897 687325331 810336572 564719611 904920687 546112957 976191059 574977162 374311360 403727224 160608378 491735426 146084776 479659046 563257579 807468261 696710638 248123756 373879836 592131281 754146127 377514609 658880658 189911347 116883961 784474902 197709109 683787423 399321462 730277061 189926938 556319477 640755671 380463241 999433480 128590946 988865004 792520045 596567721 764159899 389057015 234411400 625305948 433165392 287715839 438199704 309596544 953803414 337880864 189135430 756088182 311960406 797433273 130364245 405294404 268535203 177978398 574294112 454317052 328421160 826467380 181513292 103352653 499946391 434347723 336566524 832972961 615374171 746080837 266490435 262103896 980771587 253314040 618800316 867366020 138343241 520455975 182474691 433350302 197956786 441811642 654972878 386669637 702538138 388327123 956215112 827908323 193111950 739557120 321151332 937402927 926885767 605550410 845179712 568575747 972911335 270662739 259970001 472866803 529016997 175352941 422193787 624234794 277811748 422606454 538791689 468745374 993227106 431958550 417780011 686671645 630082672 514233060 689041286 274840549 606931329 469452466 291600767 365274641 983796207 342887136 542409366 201294741 652659573 379204418 224115122 805704855 123914450 878888370 906984836 128114040 324910567 637036042 316395163 887176384 173731631 616255192 270321439 278009932 108133541 226138458 543980901 177320305 594151493 489872526 682412179 343173830 581505399 320824192 253311483 146188054 198889505 775121479 519992972 994135196 286665682 841556633 439478852 543137656 222682918 826862680 236535144 350326874 130014109 656541336 119930349 988126046 236052591 115200496 856753337 322001625 579947776 898159360 217630829 508370146 774567241 556760861 419639030 674362480 548762583 871205817 903135443 322675938 135974652 167610638 337010333 343698927 945540609 139288944 733243630 989926783 494345228 109187879 826166926 672092958 779055828 573663781 718863873 604348309 338393934 600210930 398766358 409969912 388280025 647601416 569198397 841375547 895325523 478135246 191675006 648518965 362998143 541717986 111073443 179878772 593711670 550873890 973162172 172876801 328983566 478710030 637136427 346281603 967476598 502446161 265324017 123457875 519110543 173232994 286428881 935653707 856911238 122541368 905612659 435899459 733615260 452345465 657498592 256558827 464268986 807782964 448999482 861321887 500745261 967611812 420806337 442674255 968388334 458292844 370456404 909454147 955712837 709817164 502672560 992234825 943729642 379203207 828340844 884659321 963276396 989074102 362053475 124681272 214881085 577443031 405584647 862161425 690830174 152647568 431487848 200152278 261830555 427868198 327355716 251599336 734218472 374927648 595533415 502235240 242359558 666012074 841437195 631065059 120952545 396936823 929009135 231893329 466459514 282628637 723527061 871111271 757645839 595123192 212132104 121524756 614440415 434487751 564699025 715982707 886501555 195553167 788525445 890705690 227174534 266653461 477615179 547393626 817075251 761081535 402368117 866468332 810866254 987293486 305806421 205615781 608705379 324397238 645683925 869661680 907354061 182762024 501039857 897505634 474140942 655508284 896608801 134660263 800952685 133586522 866141887 338594498 198920186 101972142 215311493 716728029 205054163 415270341 527946755 364451460 589258261 583967073 274100274 968719177 241481007 836100586 104034835 708697783 468643960 738973593 199758249 708372854 404890142 567057199 569017841 180172744 553800747 154823376 699103429 224665655 408642783 885843745 637116814 992592678 590077407 693617163 363901495 645848985 382351866 880043144 841599123 715857145 424773455 950329095 111444460 546129121 871734267 494288460 399957129 411306369 203569427 538084762 159135580 322058429 843176566 705887961 348748564 990291864 114786752 313706684 696249434 458180051 333925558 133897927 922054708 588954676 833973907 550362731 373339215 570033216 315909031 474822333 848846276 807069444 569106266 812176444 945151633 397564526 647702956 417827397 188901494 837166025 100936371 873833579 967507319 247844051 164421132 208589649 218343634 908679104 963473162 571819467 664557909 900520160 922128115 288453783 834697490 208394931 264430647 765101587 549878221 757004406 461755370 960865077 991151679 840871472 836600559 294314245 495618132 342568818 484406844 651288089 249131876 972203883 637787221 352516174 644540051 224216890 528845298 455315288 942670643 823466590 174911151 614315403 584258072 745202468 701659738 729710325 546810325 330659945 887196466 303481438 449456156 598214040 708320801 868261863 434185507 741877582 521508718 229915287 826511295 966571364 354796306 961606489 779070717 446212882 482807162 328901600 495931209 691085171 639494828 640257223 263946664 755519846 499712129 964059110 734095065 569329764 256739138 983051563 170057303 670255632 673879094 947870226 640163130 465647565 628550156 266839030 904201583 715739981 534906039 602424189 601623938 678215504 394340005 353295243 339778858 243527795 767509467 426320894 510464985 568379355 844793809 292612122 270828797 776597198 157232442 222090578 602203986 755802428 453499805 796037295 149020148 158070311 186396375 653163207 384267092 384607306 435623591 441842114 346797874 743808764 446385960 611674429 173800993 739441870 944646218 915028479 503069433 708372030 817006759 502651809 662280757 753733986 469213739 217524420 245193180 544860012 737872826 320685095 941749089 474217891 395618271 205131452 870991953 144904953 671733012 233110235 139840833 929300402 543934146 258226271 210965507 959016049 801569852 711962366 886738967 570587971 532061245 777115764 446315698 368254100 449114404 210696984 488202437 153793647 504559568 911192890 896722802 252923569 694262254 589806937 641087254 610492327 106228157 865120316 764377994 525358697 750713924 650149246 921453964 649501614 749245466 241399770 453592530 412617952 783583677 925082665 544131138 295120741 919876255 758813123 861406328 773440325 129082766 199469693 681466014 784272490 697201138 507295682 315921787 691185881 542454323 482251238 535215875 393880211 789406875 298365051 806211285 667348356 740302223 247476804 791385092 350971078 813729841 785705732 861119565 194270035 799545814 658199421 602604165 326506655 255105427 796803303 216979309 318073097 137778107 661752078 600070865 353588119 654529405 364932501 297435232 760300192 515504463 508277415 123608390 604087491 216296644 747005792 206558323 911556632 736137308 730395571 396253331 315981339 333682824 528553515 341600475 442960589 795546774 624291977 750479806 397496749 884638106 518396569 580197169 268375620 699250450 953610374 616692828 867128120 601919574 661169759 360489556 210066494 385523385 106117468 400689938 294084164 820340269 872335975 738166331 247071724 556166232 411903578 253924002 959297793 955206419 393403185 358424289 811277393 594666667 160375452 625193460 313247670 228006212 587486780 254543558 561638485 155848543 603969669 101046242 130288537 941138426 360753264 252108928 949526347 275091262 845686923 247306789 732795813 527970295 321655653 790223859 984846275 783646361 523134884 567354280 254841490 199661169 863547501 495588302 257313234 116261400 570831910 935825742 750383016 770651054 428151326 574057255 265069546 757105451 778320441 765590040 681833587 673181554 503271269 977593611 471581976 659906578 942009826 942927899 520605278 869768630 363700529 465434089 317512615 260000757 380282244 714153919 847577769 433606083 335511200 334857642 754299105 432531586 894854900 832848961 263572821 747581869 608967518 915615804 474054275 644093209 832484623 248616016 352742825 871806251 235260519 341719857 728965217 455762998 431011627 941289976 456481502 435116700 177626941 326464542 305562154 322438733 588802495 571698878 344124364 306316992 146712886 855541106 172094897 705661379 100556615 387642508 495109207 517991705 231732967 507065082 371731864 272057470 560775125 796009607 391783635 652533475 294991610 519928822 563063590 224329567 640781143 175610104 163896024 575667328 670965092 606915942 364325023 950214809 943289998 902008736 567179902 619277575 840132281 679453620 801095006 875032531 196226912 225009528 681835264 905899779 171590656 880213508 698162393 630826854 143626129 151748556 637178332 254245306 450433474 661542983 959032170 950411566 752991552 292721963 675427634 516180410 784527888 560526443 387756102 711965277 656917620 691232208 673772733 114096869 133059513 334260557 284118171 367198837 394172149 615135403 283327014 305789330 302180845 816568245 492526616 249971778 696478841 573690091 486367954 809389471 632885925 167943974 423843690 991922013 624938332 962594917 433443261 752136364 832773193 729501141 428004280 412792888 967445959 270202418 150300490 347060437 691800357 419773590 136482928 357110921 972373359 500622820 630331151 347310460 412880787 963476441 184325325 743274287 356947216 210174023 468405612 360877811 629200873 117067548 860328687 495126006 228828571 625988968 789872814 626168569 479718972 389409827 813439535 336920108 854320714 973227526 661800909 956889608 406660784 928278820 700306478 295189653 564314352 403620450 149017348 703573008 229749645 806272149 727093110 579760988 260868112 958072446 464595742 246563217 698315895 246264712 554564784 171776618 407567971 196662953 171212217 268216673 235114234 303620929 297200212 834686073 226829262 938165755 319549640 180380032 199602968 762362278 751859690 671682287 973344664 309420361 300553154 211658076 405226993 449116552 963231613 234031311 280619829 965282612 538148613 505723280 684055172 722916786 171250231 728254806 931525963 663286226 334483774 192915596 832632371 365821579 249230846 628768325 495831599 134992341 999209607 471690583 614300538 115325785 412051501 894412371 339622305 848772559 604153736 973223181 945213500 749915077 322045441 486660978 770150279 551269473 950989432 323624949 168892873 307515117 239136971 659005987 452321858 609399998 989223016 820820561 563648739 171550536 636228241 535682496 118900724 732879173 189500536 505960261 414931718 226995929 971160236 360169435 787050645 804367750 591028662 411068455 281016275 853108713 709012737 159881024 372273548 492459588 650773494 824389961 946043537 535544109 868114394 271472965 681721656 165827661 979805160 210997617 561292435 324663564 757493771 819299274 773256141 777608911 672741675 185455185 927387393 935046741 461810843 258825014 831308554 137343188 280136427 328931747 353790211 414176316 973974230 260997453 664900629 612936807 735367351 629931388 561159176 361533163 608653139 616662836 901232881 342979742 857831113 638434206 796994067 885559545 512059533 778218190 908215144 370344074 911127967 602098121 426796276 742874933 980951712 208667642 282595975 482497477 560748088 356886347 561247719 656386914 935283367 556752540 637314005 207442823 383678440 812906803 299966684 504508194 382883914 426899834 501842783 861132537 770212872 689499357 956750303 956411955 504371824 632235356 447219500 840313228 906316204 528866733 117891576 438725481 322498170 132977646 319161347 381408503 782673177 385623129 795603131 339493315 500323308 164516038 597239776 156887000 509245112 106807632 352096629 964978668 331598192 313818309 592886945 245225910 111456120 464490356 466387996 761492590 546618822 267876188 556587427 463913784 114794392 843918177 640388808 849194970 306342863 519799456 117965227 139287928 851543779 594272985 208135084 894075391 145088912 917684134 407963641 236598202 487612941 711993932 696719802 919513642 269387506 790291216 789360052 947354708 770281402 906043729 494571666 827020934 179162786 861671498 359507048 969972142 552036049 610818874 334980562 447942350 682282903 548915543 700289654 354546324 651138052 958799189 202939614 112642713 799402706 812302505 506294166 384539389 583558647 345740632 517151990 736625741 369627624 189280153 683277347 129500284 280704158 820709664 148597609 328913942 310097555 929520367 614127551 329376460 496601593 586745244 177807510 392891603 137696847 594634917 393423753 759446459 153135698 432524599 505322682 751403901 352109309 125170045 300520165 298390957 835827060 222659876 190420174 494609384 538169289 556293837 813132755 802744064 880677549 318154648 822767812 355159606 512795391 327180377 793426752 771604773 976916318 577101053 700709901 182614561 117395704 464733835 939043288 308957878 153337046 725054005 625384449 179206223 361903841 999620533 787171410 926928040 426994391 806326661 204522325 525664782 274361410 517938487 382932404 136742000 608162090 432009664 450369583 424196206 687174707 957744800 802460858 891734086 199709609 242615070 501638082 154374969 774692930 179283323 282060650 904311216 554254125 411894513 421728501 481206308 791896871 999304202 635457272 397372150 220909964 884641031 463917443 294677055 512544695 189823824 181253603 369468116 446948538 998231422 106306205 261558279 537088643 513919017 694286716 162761502 730657141 641892153 862248978 756435156 967239582 854158025 559976656 838459745 895193978 788142295 737504893 797672274 818164629 179974349 169524707 717659625 376750809 975710451 278867306 653333593 661741453 221052977 580496922 586842115 209585630 903392291 858350323 870960644 666472351 903449851 289112935 781771927 697207648 770708011 152458177 325143531 156520046 416617205 517342965 626245801 339056714 523469409 155256512 511453238 381412940 674290895 940076969 711481007 330277863 716031931 580642522 378990898 158417200 506434963 735464942 177794730 619956455 120501674 325106959 528043338 682720845 915739802 401490109 494602797 318449154 265024843 292227722 496399866 228124501 941994704 876086104 612255684 721823429 124772895 117038272 767376851 534963380 800459957 221380309 848090708 285382048 430696547 901525089 911415631 186765858 158138981 283340566 524032816 867212497 938268176 873486503 304537257 290880055 829046898 772281873 649799017 950198264 490263799 192172879 925382144 756365081 889760171 864341788 878100725 881616774 289160756 325006748 412800406 652325377 820249847 225145217 978172121 425187325 288620800 255511725 585793015 160564553 257342840 993041749 134148130 857704861 225914656 849126498 333714191 127248368 345378159 242674033 975605626 690805904 179621633 852579741 788672652 210553281 844138658 754205000 381294172 777543730 218928978 599146015 557342108 687149158 674795054 773095811 989160228 436969000 792155735 707901610 848888159 111261705 489932061 916352619 698081410 367715762 661813670 487760195 269432028 776076200 678284846 358703885 253327327 123968433 204315394 186536190 888160475 187518515 818351589 547924963 301690856 490838123 197056036 380135472 164584987 820333282 825136421 158899967 482194106 809261719 928011822 248212485 764612728 922159766 267503152 555929144 439882090 881494184 375694508 928638859 320562810 106620849 193138030 311897118 821386068 218298116 296074723 578238940 565888029 723267623 650668206 216104111 345063061 631736615 162644485 671628161 960655363 731245557 208981685 966105158 708134424 883143871 766207263 197751878 260355077 423913702 658756244 990817820 848488734 433096220 291273690 603014964 917071497 277879296 971339690 112021487 968085167 922838997 346380237 495332842 421948617 106475658 337739725 130667340 649627917 621216619 402716136 496998481 387144983 364933983 523131352 467675215 742515097 216017988 145118770 536036266 134126325 322855297 812876046 402198809 459205102 370410003 554566445 153422941 837787301 266303875 396341555 462226442 323323277 765911142 263458554 142911452 948360730 166184420 531377014 561696239 913683743 685429194 646958766 164029534 145367341 501069475 382095958 674948150 513396728 567774706 997871606 277717151 249737669 646092494 345181209 217932406 961972067 164045279 432226394 856565610 221472046 732928425 948401852 886430370 283832972 686204883 655319485 339801661 696466958 982538719 549852554 394097657 552115137 723164553 191341560 674465107 603159715 355659528 579288050 862685866 475592030 188633637 118085244 405235494 536159227 505134710 224827430 107280196 184423073 817855273 529065387 131426430 909340237 557319224 271675872 542865155 218512926 489462021 924635041 487312973 281437776 300474169 248688853 399579171 225930674 601011193 890960469 692527160 400357709 355373054 764190892 716130611 143202568 445541575 342448941 701179645 967626672 488664241 527882882 196358329 906713288 536362033 930584493 529958847 958405605 281815800 132918033 539397155 341715390 766750141 235575435 582751957 995413719 816016157 353992597 858422416 881391674 648739467 637533539 122647546 791275152 370276027 706681784 174328796 319176554 459713711 190478127 705277592 376518801 975385607 717343576 382263285 160875740 244617480 792952609 487461052 684826901 204771298 266440763 949449448 474763907 966968175 394693033 502067092 303046810 819437648 877910703 304294156 458970175 993242480 206403510 679609517 509468071 900599417 128457513 883700058 706988517 419036774 406002578 587564951 752868773 569436299 908929240 402405046 906491872 156731822 932832681 344287306 946609304 437236386 826680778 186612236 767334301 933072843 453813038 522702399 977151272 127301421 222871280 185178222 187909556 101591723 273668078 253836335 752477114 293927814 754537732 998721721 313032695 907446195 303158072 317720821 399504198 922098989 768574496 707922294 875790951 332964413 858447707 112047068 672201482 877171863 833884206 799608548 127152120 228364635 654485921 719062222 181425003 706590115 250820093 188781981 732789161 925769625 318237509 800139092 589230874 809082018 928866043 411160042 502494035 392193132 683437260 824240712 816011357 244803250 608869871 483791567 283446506 266104806 307079022 387628578 616508934 136662538 286339138 586063236 164258986 394845931 173894292 705845097 402270147 238945556 479873277 825976788 557439767 131452777 176848891 169300885 627312509 420964050 600216623 666955869 137042592 563636457 752588129 708063207 545012430 971925161 805858093 258297142 877434698 236984229 341629571 662037337 804938575 804163070 974761432 926627277 773836262 416315329 791813856 379251803 902421383 478924708 508464705 902324564 588984020 692345348 705512676 166179495 637838866 961931219 721594111 743926233 733736389 639985584 936938642 133840497 262686951 409367384 966481402 192118212 908596503 307468734 235794258 540178635 725089933 560443865 347132538 133249511 735481792 823644169 228733046 733254327 226400388 879457228 470534480 154223017 267380020 117382911 818603083 311138409 888601211 790963288 892325754 268677444 673345289 968310690 917671518 794717866 354895895 988119081 249208001 826580540 838003577 349981401 594306862 247417843 503373672 996645606 294091608 556934833 559978892 346602884 855453345 614322648 668892864 694292719 212103721 182071910 425385599 526514415 620834617 721833144 909654918 467233638 364772194 307825422 781662885 691302067 449526555 694364521 856927142 672125432 762501347 816136653 963182289 104063971 227972908 113308251 161024928 474793294 704434149 911955451 532387569 832711123 953717433 492704103 884033139 895294243 507581807 659630721 632243472 606899712 137112784 466855047 674132254 196767919 840775838 682630592 852202265 356067560 902862642 520992770 395116841 937836812 202922400 451803359 214211605 794309110 688288480 660675548 521743821 469534425 222962890 660024929 988660354 328955578 681618187 830768398 518202834 281497660 102314750 961049129 181432745 501134622 779290680 802151175 640946725 199081142 318982711 929573073 968218456 413366377 643101975 960034011 907666604 962673715 381040663 104533081 972536735 827156273 608768652 581657926 457992765 523171431 476992751 566230225 442432844 906775889 341537749 546499736 344828419 123569541 854405386 834546829 684753210 372787648 563299257 635559246 738737205 849153027 897149263 780484851 894759055 667216569 963552388 172464368 335389390 667346116 140608147 141240980 626455936 489518859 209674826 524789716 896358789 407979572 643441398 172790915 272153846 574804440 921972360 481869278 524721098 276696660 256404680 515448959 439497126 211624527 299587559 112074700 207369722 613043113 345453491 247562275 467735896 389953201 777294666 361637927 149560263 322969333 661585059 195717514 893764317 395557767 850234308 785036549 148303834 212261372 714115983 227450004 411399769 737978165 122455237 944617036 959103839 961475421 933317440 145232349 176790245 505757045 274852481 687625346 619111405 871314665 154445523 979060919 497243661 954360028 164277273 204039802 567853252 171251702 525433875 732327627 338458875 498450449 901968828 791228385 992641719 928554280 848808643 229691916 727463876 150988905 401140365 139771353 262716331 624096579 701423938 567184627 235797148 928638104 173223635 718644895 823263616 463512643 835999464 675330051 813992193 901155091 185712191 793610845 362033835 526228327 768921004 857257037 131787231 527126481 753618890 899226035 565677364 392112528 393387495 348341665 199703900 171159943 789310544 248660614 912213578 746327857 635739971 484886418 981793966 750745985 455615429 179662088 979302673 860434794 698705703 672048731 951668545 215214214 263743579 158505658 813431248 207590658 101738801 353495071 689110936 773599306 625559691 311551284 771125498 984562334 375055170 486711117 492272873 818508466 932725913 182941240 183216159 169643984 359483634 463728880 767553776 535918595 758403410 822605921 920917585 195090893 779844749 867051930 311221935 495811119 788056388 807794990 993466563 693949894 707979291 979261021 118134267 463450866 540599574 104579821 424506612 811919184 647981035 199848756 454598410 897600115 745667444 952718259 862277306 464875572 607228898 606494882 223977588 551835168 881361867 825039908 749992170 258557978 859561308 726075137 610275035 160382147 519982328 515649807 419197061 328724813 816460953 744173858 686035857 686556369 483762380 626139169 956929883 424543721 516100950 543385272 555708609 814595271 654663142 987999360 835462815 400153641 295721448 807481823 162467652 220607246 634765897 923101214 458003440 162338408 677291091 331712172 905146393 653448652 428201672 820748458 515570213 903574005 324334127 443256959 538981129 464437567 594042468 283166171 332324741 711781689 138038931 121805292 151383738 325469701 384629152 956515815 717417090 454749804 270831071 657652310 552837988 743255436 295930199 724433893 427790942 162931449 943279874 558891483 956185576 895049360 381958082 486023444 547705854 809228677 178199460 793949214 105308610 206599957 308640045 710211746 740332651 786341448 687136720 296582417 613100017 517006159 899142640 643612813 641046132 851342946 237280102 112652554 554780888 128545541 235354587 328784413 443687165 173038518 859217288 684675350 235423711 391940954 829399762 590757677 585904694 894587059 910533237 946148765 142206768 687602081 515557583 691224256 917468313 192031196 767543929 566648053 220694254 345675844 826916628 613086563 303682553 597400628 402042994 871596945 546830769 239220172 164776744 618049545 254505113 659724045 632510394 607173828 641132636 371658546 221439427 184472811 404181427 252748753 139833590 524606225 119872551 401015039 398284041 990447629 879546889 446295433 663079128 639296626 807608312 973363059 801247156 741054019 457971126 972877625 516141041 718775207 405602219 993293644 424957434 184182777 704248444 117260402 772480167 216939018 298164542 746897348 949384901 816632157 193743592 996786648 911252831 390498063 108898788 795027566 666259596 918772867 164877397 727848771 802544010 383113203 371029550 823246155 782657961 322433763 628841118 856050310 377331382 630677006 826589803 485047990 813530359 799138818 454388470 649464408 667028419 421360611 314674155 891359342 914542352 534343484 832808337 669464907 614219454 800541965 136891500 914061930 776674517 392177392 244657739 545102170 268250746 604737132 193873108 201527129 392112371 727701084 193223357 119002419 109508368 318524828 961143581 466645919 626667269 906348482 739011617 578874283 398238889 708649763 868562815 718506850 446819121 763214747 517557082 728250586 110250538 554951988 878611818 755612911 859551782 193016419 423528746 609147531 764789476 180456265 349817587 903811208 179778094 350079415 171886460 898825877 524305174 181795525 376804349 865197180 897818963 644919919 507199823 107852253 878333609 831524076 426594003 493463887 358502602 377515668 584280225 742688005 843639692 865893119 991636734 909208681 723622105 851724485 547214683 396702319 185392627 687981005 709462960 348381755 743966707 897973271 282311468 703898201 986500101 964271926 526476271 925212919 108735248 822085743 958074593 397116365 340459839 571640369 180061447 870682332 775206674 993476556 156156165 173175100 248312881 991862813 755725041 107014508 438390362 437576836 410864526 995176096 289942099 455137494 277563366 932979013 654055677 936301253 225522795 158018432 566378504 480499477 589357505 149732519 866987717 744814644 160292047 524088564 474673875 319350018 841396135 878678891 936945814 827006790 409686812 621419405 152281114 754948119 970494606 794192451 173338223 441915488 710883779 548615663 130246190 870308276 663407677 506856770 136953416 981683499 864575305 297345361 779526652 438887093 488161735 905171321 297961936 551547956 857993795 647530946 125662051 657536326 485316007 294554247 127180170 709125327 925683590 898045905 745437162 283792742 404881155 984986660 328460935 882107380 158657855 783743822 240866714 694649338 860414296 564369461 960862699 716233463 291980656 390096138 796554303 674299569 847147780 796950180 463467619 426335463 871373701 641833363 749681103 510347881 307028044 370194247 471135159 400241539 143259845 683844683 982007385 734684311 776586079 255492101 526174717 330513701 828930582 400894123 511691158 779187490 179658748 118553361 644154729 369925430 674445320 111452307 149937797 860743605 396898016 658419334 159589247 425988150 347895702 813600771 538268442 294085163 570312028 842466911 808661013 474186908 877965582 640018125 535528518 242685502 557343901 926105966 694558322 375808698 125478680 886431401 859732026 933222942 734473761 966096815 193488796 593775229 337395897 380257906 522087270 290501793 456785302 340106202 448814980 282147736 934243723 195607113 573979958 745830502 418150051 116784258 915437733 126736919 495084969 616723788 308333069 527972584 170599556 484564692 621653785 646090561 906981757 594823662 868748231 945633657 586796783 556614967 791729778 770026312 955837241 656810850 179254648 994883204 301767919 135447591 355985914 289280826 215096378 790923895 787051066 911464998 443596141 193123683 241708739 712248039 755689141 687758922 281520817 473332639 186683015 607930819 966249210 851271958 500745676 262963976 232427579 767272989 266272792 440144177 338345978 322183445 132642510 421823550 198382633 222631135 199490059 506790984 789533852 607197337 245164634 317273207 425129566 678604956 744597083 420596083 514081228 196470412 816721265 214912024 378224614 262699210 546852662 196044825 774196041 683305567 525540695 218231641 713313272 933099767 295268427 308975013 825359867 541499477 394094600 331951778 517690214 414553607 814306583 468586888 968075708 848595754 896130557 923991912 410662923 591783204 392207018 462625837 676637500 385397611 561879154 569827426 952363663 547758388 984459187 681545211 945754204 726377510 542831991 517251378 441041405 973946451 942477515 647424860 834729722 657850425 530569546 954563973 918576671 666384081 398640227 385050599 184290627 610674745 771209165 582127938 852893651 501586719 789615252 765414506 579117089 265636234 133897445 221242198 703538446 652358552 850890321 457085059 762423689 376537486 783924264 749648016 552716032 862709701 426978645 622894934 802234107 356506220 352542522 486838585 335873363 715478225 746230391 439780953 595459708 115006353 800934375 623912983 316891396 669046293 587656076 674273617 114996237 697677293 512725432 300665221 416083664 310122771 674718210 699724017 378250674 832110771 305875581 907450844 600009526 655211718 275770345 466664866 531952486 968787239 682424057 712243613 523823882 564892866 348987615 433449522 225326594 578306216 388742821 315382994 522351554 586856097 760137267 379302511 210773091 585259506 898962061 445799606 391438976 669584778 488469875 858986256 629659627 240869573 243401252 350066518 634105783 217363036 800664257 112621781 326023807 627993643 544691924 451831044 161752016 327443402 186673884 948736057 338336518 501907611 777289789 919911357 550234005 546533538 599945306 109589436 646571364 704318535 264492535 428615121 611639243 410844804 688123984 848301680 201945278 163657477 206251903 287301639 436484228 869953519 325175161 263306158 830525935 397291724 420120717 126098506 683188929 215656858 217506171 982143578 337289909 742881073 238601176 841736184 987681827 913895555 728122931 692784965 890891458 270072092 151847159 819350344 767378793 748427366 204826288 154774111 302251750 916976985 627287202 133821355 696452628 616918208 776584348 643012794 836939327 534506106 291722426 736130558 875305861 783551103 740295507 833747959 128995912 176066709 674515321 340269481 793195803 895492237 216717303 928446020 434311406 875208868 791887182 409103482 144010185 916915125 601239377 535627778 828065383 575296230 536591746 346805495 124931612 530838883 477528620 304924065 154392577 244820230 605211281 549143981 280599562 408423852 934274549 714198878 166915611 472881548 170780277 904646423 101596245 794301686 717960956 430133481 197871896 785689982 970966529 677764172 501936417 928063400 892482135 302462554 649433546 981915747 907547940 983583152 548986972 398685727 183806927 171767792 701786913 136328867 142009222 167185976 205564699 885713486 370837507 400343507 845110432 469210285 774987127 112225820 502815723 375714745 404595767 506543437 564499016 310336734 239754788 589063067 515691285 905658044 607178473 297120720 930539080 534974498 601581351 322566671 344641944 571641022 761597487 983284221 877386701 321486296 666990316 527428180 974707218 446465905 585187979 743430017 101349929 546490826 138323643 898456093 229385078 396164959 863852387 120604275 863328797 170642783 407463853 131339244 697769241 776755861 135184349 264674227 278690990 171152251 900238532 274766134 581010371 989884264 614472760 372938581 927260306 356834456 966562029 945673878 147003971 902971331 867499148 813840126 368420849 322113552 969447125 521611002 582898218 759397284 832991405 571810495 361594527 537411122 763114001 804902065 795443232 980553208 169985564 843663350 268553914 240507123 534008522 335368484 824015794 652995581 248550301 748338837 295089167 692500025 369666706 268181670 553992242 602285845 357446971 874413047 436901171 238294089 675035502 383808437 248662517 887360565 870873752 197959149 373765442 598664905 787613177 958492094 275812786 207298470 557250507 561592472 797274594 319171644 418330315 570016411 380596671 687757032 939841476 376434266 981745793 112271969 597130829 536129251 736809089 852463585 503971570 105451464 724743279 289979724 898212646 294166759 891895311 706323102 296633220 969450432 711969805 790049152 992399398 322386240 739720831 731221150 544162018 742545053 785925477 460982991 837047923 113305875 810866878 390637973 861795654 155070355 279555817 272306966 961709930 121136383 481903192 398586809 394313143 100077677 108604567 695592191 626525539 656174010 246008187 531660698 301104267 888745932 449390323 792211596 523832301 777809447 500943344 918799191 859368945 806985894 573789800 891572741 814095689 142721375 606069980 846749162 387528489 874126904 362144307 539206114 956596451 427335321 487544212 933074239 872685959 221059842 260479845 899698482 698970769 351701329 778257827 224601693 596762509 207554570 321840047 406947659 674671150 250881215 302860688 224081419 173209147 122015453 712771627 942898119 318985557 919673345 311254042 392907849 260803766 444433558 208183513 268677241 124819516 557915766 493398862 177946382 340597919 804709009 697682875 199562323 358916681 285355979 793854662 351402576 645453209 158388462 365168519 836728657 165581033 720432247 983275369 331080771 684595125 789904140 318664745 720266862 836591020 484389971 812842432 724148790 972649238 576383732 120332356 358360344 156715143 116369564 474482006 364111912 569011947 204885433 586106544 668394719 780157643 549943316 610476565 255917380 421850511 669093836 584363224 370562789 247748013 988267318 822105348 979741875 612635829 816199268 666388428 746906446 673460110 989266861 975303685 982778596 671873906 313057126 258323369 412494840 340298245 260315221 506787411 995780341 198593484 370529507 322401512 554741021 607016255 764961377 247029483 559583350 757109777 525805699 226534094 629020617 575046139 111796058 265114404 679617918 397517347 864133460 833845940 687551300 256216215 419648639 453159619 907149271 976984885 808107407 866765039 546696107 907580029 195332201 746966450 125918241 892205611 479630087 416279824 792534715 541239020 390533209 962006946 434716569 731796833 599445536 106200495 610937453 964390075 534006737 135927597 121466349 595954871 961513372 253345822 783395511 404122008 253167878 264785521 526848341 761092247 526310797 539250722 787125463 924475434 884594134 652116089 701634164 175867106 712072117 826950283 487342587 179820359 124015774 519742171 820321985 606720381 111430491 137287817 496176314 778416421 455632464 252450725 189822674 396822105 722930988 947772661 106602526 386869187 799177636 878528482 966626895 999880565 378814399 472150265 914425310 897961928 932288297 826983145 665247289 654394589 721211602 849728535 158238771 267772383 831408079 373058392 726510506 951915931 431077883 485856199 886194542 561775867 233304713 165950691 810650838 268554339 769095451 880805816 361231454 595563015 747952906 637660395 753511873 981749368 562843388 807385518 453549932 986566675 424969599 311178337 593813908 171011513 144329871 433067850 169693709 234746353 741205567 773612778 775821974 230182971 351828693 428086386 709461776 194721330 904845757 385262185 568500841 974328964 563316759 549275710 521822911 963659084 352385679 423987777 412570046 562297288 250030938 242407479 812318530 116765019 126248039 797287363 224256554 508618413 151323208 206256595 876579538 745901095 583595476 858853228 833631528 674539273 798268604 358817145 339518055 830225826 700618943 451545907 180946688 886994097 211532484 350858368 940084267 777106458 887700700 953334745 624518941 901626912 792797816 203993790 866185872 999326089 637547289 664205049 110743130 379248754 758665292 678596373 966573357 502092938 526573748 508105573 198696593 798124152 129515889 596826354 761332686 311892758 949416545 955461689 163416064 692981129 492933035 940377019 144416383 947235540 545870972 841907349 912905304 542889401 242152325 680357556 143669101 965115882 109791638 427066695 577257769 785803743 889309930 169854012 992719523 643448900 337549412 405093058 814158650 472379004 360237505 336007761 285055857 124592527 130520591 642195021 824961666 101751747 694114269 462195612 152357800 724032564 122874744 274235330 289272919 915840288 187020668 707665292 319703911 818573186 287165095 138385127 637095976 863836112 601402240 478794565 469712810 497228690 180779220 238591683 362396694 857907135 887199676 416526190 916207671 250832614 259387821 236040579 446609626 933886118 375757444 236788738 987587280 732873288 239100278 503662347 547374642 662302490 777052170 626206219 714966913 554207561 702497643 174413560 956603979 684372325 369514769 858999730 254509597 743791245 284354138 689010166 751968531 196649350 975503915 198502813 927643556 656595726 736301828 962006772 681814150 186338597 622606192 727261036 565203602 911957453 468865362 481129122 171110399 417590413 961977064 392522642 976089908 775151069 908581239 699474293 520417137 329822261 728052532 578438498 971327383 393549927 970207910 311569476 143109377 376770191 187792638 209109877 421956066 683387729 116510990 220421572 486757039 324356072 343995016 835910469 670744631 861386080 868132976 751357199 782995946 261962248 379532162 506862899 867993327 677880612 628289130 488753096 394473055 684358315 164510777 287974682 964714746 603715028 975360289 865145314 829191556 804353285 344872748 979824461 355768248 538759100 506929516 884952927 397118689 836318850 486496966 565410251 444740876 433677542 316850736 744501771 785849940 635793126 467654250 281120420 785499314 298310888 727678046 330234551 902041650 648606851 522967753 204998035 977632462 844734664 422636159 522988872 959191242 620615522 320518008 688517923 359496074 504177226 764991723 886077437 367716797 506631223 643791322 168830562 571351085 315041962 887753965 377717544 980994380 370447686 361744934 416685827 786752558 463144505 662277359 669151797 913902653 144776028 823331746 767460392 724726363 329103547 513192413 581366424 700120385 284394056 233015116 907124481 209690704 820964034 879429234 174974873 427567129 130650099 665104281 399552500 168020572 891083133 462339022 979762335 358788866 230994466 878945976 681725178 103253982 779402580 804448014 973545215 565463069 328592742 652390742 142043595 549828724 502241189 215888009 500171562 409094312 891738166 337311055 642627587 347697861 480692478 986601065 488068589 682669252 300772332 113824338 563667471 838815790 619963732 735344233 363092912 129274146 717608449 966556955 610265964 943112762 236550831 588469124 652346073 206600962 116562133 415633399 644069740 626772344 778988409 210586829 671231056 611310666 684762355 512629518 362973656 282545737 655692320 215969800 312821385 392023862 505439496 370560866 667890300 936541430 410074016 664050825 779113746 237044187 554405550 645223210 279924250 636658373 725877032 842580212 304634532 750603175 654466880 645774527 439433831 507552759 278300012 800313595 613173820 175947160 168106866 363957449 613244304 210806930 620091761 575032875 708838277 119265704 855558946 214268013 968926761 543239391 843973012 779697919 431737073 465999948 835036483 386823516 343187771 328900955 642966500 357751450 546264177 711189177 208195190 985121705 575782010 814279459 473736361 698847527 778518543 103856535 177080218 869749199 629226459 266781582 255885905 499105219 408963387 479587712 208322736 834166143 522489749 763704693 448746312 822511064 704713583 244882269 240614433 806505218 328305766 475919349 214489946 724309718 830825129 777016604 653196657 567035857 288274354 179550871 581237655 845156460 790006886 670890375 297251071 258177453 341141500 431845002 711961875 127288191 861716098 932084489 480808751 241887707 456727294 476137584 505575372 141050965 410870340 624861244 177521692 418440218 646234260 148113101 356864487 461173407 647175390 186356369 948211270 192062613 418419499 494214274 711893696 563449270 619396213 967545167 482613072 962624629 253089477 273462322 440812421 287930077 800989135 584413932 309477471 999322540 950708748 215145151 681313537 871056495 577178950 142529255 410086064 549991793 867088582 506110269 653440633 438206069 136573808 274810644 151512831 629174310 777574916 938877916 331899599 171851045 890043732 868652225 689449125 397906360 557669391 470360479 156358471 923442209 674489667 717714645 618406665 633041922 413234907 200361236 979941026 544132600 253282919 634620663 272021392 245142653 526262924 892374617 367796866 587177133 972358781 999588826 924484823 555092999 479300270 660664619 926494041 148214459 540251697 155547938 582529465 121998161 580920684 864362806 586963432 820704444 926257314 941666712 507504512 973035017 255565261 107803232 525670604 217269812 922178254 650228858 358393406 271251359 148654417 537337107 494937365 500476525 336747484 125253616 184994138 510542850 679273547 502068881 200625530 251614876 330856826 521441545 329440481 763411730 168227167 614277363 180550964 494417053 590602523 997277422 603268485 644624416 246544470 956229480 111370706 114205572 464549509 281826640 515028055 114792647 275639755 937806331 586652846 165337572 730782892 891390015 866875131 501966511 773518512 447065334 862295264 651730200 666689818 924230525 994339698 483647839 438220864 865484688 403739386 768282185 392477220 841035225 253233738 546738010 953930798 704862169 316074351 370768102 125635912 796511036 585432883 377222708 166413914 752308342 157728679 706366103 110422443 667329416 934144746 493078531 322020153 582539775 298786083 886767505 691444320 484457983 116460231 509677412 555866003 194963261 420593353 593235309 516599045 389957987 479010180 452410057 308861776 421515255 585976196 633598381 941583934 989055873 771965338 526905031 295973091 977496241 371393471 174020079 447637875 865561875 661343632 711265027 956291331 613375652 492202430 655236237 336578187 250947979 706143972 829722012 239444464 722762943 331293688 918533827 792651814 575478629 502927966 916423577 804920124 668350587 942324921 294702359 850504715 152692032 461420750 892320655 245939111 898545033 909849318 836362720 397149029 943755436 598626746 183228928 400610530 289759202 795627250 159126118 508871552 967740929 672946889 728389946 630984747 983297055 511730468 606535208 958273978 808696271 118927215 566948558 862948802 502103437 855763569 614510758 650225456 622920333 450145958 799622122 563006922 276829184 186086490 158202944 936567130 456151868 294267496 728669206 695512362 621539702 522395335 763959571 711786847 865341367 538771185 313900188 703596816 910926030 359583240 367730908 595035071 730332236 888558360 306949089 206532784 449423803 317413571 777011010 469811410 234296721 287479926 245264005 890479576 966568420 176053388 680881722 287385319 926115986 186114442 550182838 338053090 191162712 304774416 552384439 481874069 620242964 155456303 263311336 776469217 371714070 639673051 880906614 987494522 195385795 985505754 601991417 808961474 779183886 144613896 928730908 881197163 416573093 963637561 840590416 361595276 454079549 665350771 276221542 149362990 821591855 294724918 196298898 922677443 920735099 978932036 721833059 848114281 279127056 213704087 163641102 345089273 647011937 152551183 999936136 389823245 668456606 650877466 943667595 464403990 352206950 601229101 319875485 713724811 953760682 420199560 539475929 209352134 254219371 750379740 489836615 838892643 128755174 560465509 276992961 402440703 222564922 813070981 888890958 958985682 520388507 667603860 554440244 771426056 967591293 607769244 557264131 489168933 866514769 292461941 345468108 814391355 771165781 144099034 612288690 146370644 908288424 480258751 849962324 681168614 855494943 135435116 735416070 837756108 413197096 970771562 191043331 469034126 421658318 508220518 532699195 734119387 108879893 465267811 253365035 976543937 961172813 490888512 226885525 599342548 812759042 494973329 200069751 259702340 244207108 817357626 633033366 232797636 122229381 170554744 190615854 611101634 565353654 675317655 185706217 175305885 466035368 101930981 200458057 473296466 725663981 650055472 837306539 272337725 144295468 440405307 439461761 722299535 340817246 644914082 495631128 429243749 516993542 249154985 142634317 930937478 986002876 127975774 108342192 936975141 587202376 866690966 183513065 590315711 444779199 411209186 885821522 476772470 242589635 328491094 708983971 252534618 368227117 832949644 516842337 365703370 397685869 350368667 391182291 602752707 995092888 431068948 627771065 811471582 587600268 569435201 522468360 796197919 380271599 101298365 159737532 753171240 741768259 813367957 914904533 293557788 580369214 976055019 889870638 216075170 731001110 932091671 362146137 716909257 164661529 413696250 675721326 630442996 228820099 860317083 798662267 408387689 537308035 999436493 796343511 171852966 147216823 195112644 693763629 912731169 896653998 422461263 708611839 567561714 248642450 638201588 815380741 696921600 352635673 412586441 805765683 469888371 478464762 632582021 280013627 392679327 513041044 958069854 900067447 369843588 495635337 947136502 779704478 164918804 927875560 764383807 766686392 947638564 441954427 374263026 281497884 303488477 554436909 683863764 526604236 816205868 217703641 251376640 181377228 998940403 701470437 449709431 438782345 721605164 204139797 624018407 233178485 991111874 547117082 157693833 271421718 593908133 294384779 859642560 580789080 933466799 196380973 485341658 366647377 974030761 238524185 218804436 287722349 123142465 889828062 442786782 149420617 412152769 237839896 844017489 758094979 978585571 616577329 748345725 242128099 632502591 900845049 106130543 809270565 190885131 821585726 498357161 300805402 990792816 502459676 542980698 819046239 288523152 609690270 281763241 409551533 388483960 602433131 877989193 521685182 108754742 610717649 211504649 283118408 355745012 427121751 874644910 834639461 347381303 823095950 582926290 278454446 141775631 577439469 876881363 618783350 862430217 774244985 734619354 273449858 221648559 542974483 726370327 539451860 823984853 216149676 921215053 178406370 799379924 407077270 808916707 645753857 183300678 148128732 605286786 455056982 191194981 952205213 367097885 590088043 673753656 267350448 132177377 936199741 923430042 314496910 946180357 951872774 175148354 322153002 842580229 380482023 814189923 342238132 580078877 650188147 625260270 191938638 802238028 486476141 961611714 177112923 592287851 300855327 943566841 145005223 328956684 438035063 504445506 611078794 242833165 237476226 981964146 267970609 686126940 394654246 295556035 574390024 140410130 613276221 890730593 771457385 508103085 867583907 837710570 852974450 576001563 244637794 509429821 148838059 472984062 262589955 336019336 489385717 113010672 410135884 278424488 398799428 486910101 657049838 181746978 691625115 624606012 583860110 592382636 801291223 783908568 380215226 419860480 622938638 644434632 817094831 838976228 795323930 577583611 534104136 546674478 114448449 191553842 752568905 841543161 879857050 541241555 787001429 462219172 178318444 280960038 933494507 818743530 695626465 697215275 450664162 608997910 320242044 562911334 460684404 563437132 518347274 509078471 818632068 614870218 627848846 736770846 692242479 945992067 583678227 303633196 462689686 166622559 734976188 706305858 830730375 827107785 647973390 974520479 585936486 257198223 147309743 805824409 435188036 533157501 144266289 255887840 478968233 132322897 962666824 505638025 529211331 395455142 695770589 624664906 893639057 649605825 640404491 726913723 634965552 929038629 448675616 912847332 697540353 629178342 872630786 383743209 658704448 709735284 302667107 449137032 207365280 932711687 564029105 794181837 268211377 396206997 728969050 692078444 270475415 226768033 836919351 120203621 159735823 288914159 777222335 852283956 900303568 594391579 117966728 998671925 513188876 100292094 834530512 542903401 571662798 906424952 408789934 966421503 575522713 965630796 379175241 989080489 138856810 449309053 705941447 609598014 323673194 746919469 886096467 981194848 962757337 242883814 740115575 710503871 367238113 347080462 499852354 780024567 406036520 362201285 874266703 136224783 616280967 459312828 796198807 247658381 965720424 257178768 996367471 167343641 637535176 543878613 690964940 299273480 264323068 482955708 981968221 352702786 861296217 602274461 154549502 602367734 828383156 435984608 413738720 488648246 962304035 853664201 105086519 717503855 782984011 113348132 716653833 966731813 632612396 854267461 736371590 774857708 504741766 543890591 690622037 676005521 829136487 405023460 965042920 521016879 398174342 325179132 865192054 386785474 769684081 761526683 663300883 127988659 189942220 771921507 352976868 234548865 734072845 639403509 536092374 617370365 721742542 946054547 205251352 265809931 766469769 280533186 233381562 495670285 432417891 835903119 381941131 113341801 886885944 792477568 586756492 692037640 432347345 402018432 665293838 220526412 280897782 808026435 205883244 343569211 661530356 833932769 791021952 895995524 139517835 895774280 570598683 891954439 197876546 853846815 484445651 283842303 551192446 803936371 537486206 719627163 225663437 462783628 566983497 400918623 209407998 568347425 597873215 342644240 208443997 211400365 662083094 146035368 379946536 515122071 646849935 944213032 244744752 364471350 664592855 471407308 749962636 600863714 357896508 891755290 139513511 959939416 339664127 825942611 549087043 955526698 437932796 173757398 821241946 158292014 787598948 716705102 320294032 190599810 574754150 740604343 475273867 328093804 765868790 744091603 858522835 287139033 209083093 960710240 999263443 702224180 137016179 178985146 776039674 878446530 564101859 657769226 830293024 402547706 532794179 899120959 641678797 564055468 526290798 489608674 222916509 552495245 399692562 391330948 960626541 518342882 382995864 172650997 865199930 755834485 136240982 532973941 286886664 877249083 212828383 393992936 395025708 720486365 143169621 121610772 883938171 476563289 208331043 876669913 467245878 773102405 441485240 602762466 235385002 264367970 904981115 119989806 600633369 420319214 277641783 441448939 487836102 256418275 708308461 120282793 172637575 985405708 410344027 479559265 588557122 349782733 351735104 611005939 633210701 999858318 838552000 624179012 451007748 295951455 423510340 681230114 574634264 322518836 539135919 402159263 179783941 481411432 986286333 368630715 116224008 786106296 340521262 657030184 867499332 136244880 759627933 822341782 381176346 136625603 737105739 194272687 499753529 418678208 153224310 629139971 267395878 232117236 720964451 813666931 845574902 772930202 260354240 398567889 738147228 742050762 246262304 262704078 920484051 709157364 562896490 877454912 229577682 302812344 614257435 572333237 847758542 698017587 447666257 511278192 617641626 888986102 306713166 520852651 874732194 292318061 404928072 686113134 328043800 570405716 794706019 134334428 430972334 584569282 882677854 653223363 252113089 203308697 342959547 175849661 149589951 820221950 585164473 670988195 612698696 944121150 787323383 297013849 790278296 437802002 126007229 201618130 488932406 442191641 175879400 772388502 604516965 774748325 381308535 724852982 325054259 152884660 637621284 563471252 974071784 694720854 324501377 875869483 505224552 735560928 289724510 673099470 188041643 317623999 641789262 918817001 564841295 727832744 624844516 374650978 955933043 603351416 554907827 567415184 311645659 298327782 660510994 866828852 246296470 399346644 723977075 923044269 745086685 504872996 769126106 383958228 129908758 813445091 355471022 632378055 576975138 119254886 134058923 638770338 493818006 375050480 151820046 660969322 589713961 420797793 887063625 781758920 782582581 898939006 368383314 141132939 992728582 607750682 534286702 415723929 233192317 852450457 293925794 367119881 360347537 328374692 940517434 531413086 788198837 733425473 980226005 779825735 786575944 131220563 156904461 431770380 784986561 352936615 325835387 651821621 106307823 259174557 705839916 730028319 718908077 468731696 775992086 557347520 612184577 775593526 232493384 493859834 216099433 118293098 813441734 183809434 786377278 120519160 203447942 153554928 101776886 997082131 717814533 131991582 726200430 560977743 240087298 935968304 646327580 167824602 478626546 747119436 993249684 904516091 780705034 372748686 312602341 515617423 396593168 418778832 659157347 505377813 502179025 493498158 438951542 236757879 683458820 423746732 753231115 879710926 612579457 467066068 890850843 383763122 708748532 700614326 154092490 812546390 473971422 366047467 210974478 794071822 265141038 587320236 507318157 248579676 929650178 531863551 586845212 748901142 724830040 902286966 642554942 372569017 640491350 276911265 153397107 873450299 834811252 774090082 117899539 198933911 958379729 400655813 208670732 896262372 404933937 218250560 606101015 330846738 455171488 610087961 317337590 856094905 428367504 114183540 682053426 801134804 635680752 888092296 344417674 640361904 169194613 304800030 694183079 835990770 592502916 601251387 986753907 822496591 258305892 727004199 952588047 631190552 332268708 279840365 923650779 908852346 524774316 474526742 910498182 572110871 972074457 696738393 791570278 472340458 269881472 169561302 940514441 199455912 945275550 876963333 729805351 851745971 120412413 978026921 546795255 520342868 418642916 470260175 968651754 198648138 749839881 242635044 359415865 904838274 791889771 812269129 195552727 112337765 128352438 717287155 566563252 652791324 501826209 188573945 708799181 326572581 700008422 364692797 414368909 938769726 544311932 378586537 284465436 490895946 910839945 901826882 928740042 637231989 790144579 633525360 916839713 771101989 291625838 972646746 170340486 776308162 258829920 858132709 551749516 225235303 183801871 365162262 381909385 523004521 294650631 166267641 922786072 751379019 704063077 401126685 765989682 672031972 327154482 669118276 222548415 232210333 228593151 313163329 560562640 353040459 800291458 145223864 797954724 492835085 304620379 784037833 700261328 395419127 198262909 242232162 392878625 721450977 939734032 231225195 637449204 555773111 895273538 275030016 125256737 220038406 360414853 906266851 263730258 458227364 874858376 531767748 170994810 106898564 761020929 141866778 177193405 587448454 549450011 218012026 324120455 223910470 720509622 447476633 234878000 625145806 391855298 763967057 371483427 778213330 364168046 879374581 766230460 894579627 119454525 189098433 407383108 830752665 677257133 779906893 837770237 212922302 552176095 653727936 507273419 380424368 291457261 279124091 429232708 174269206 984932751 845714025 986274201 273254618 721694605 237755830 519471819 651124040 583660514 489201824 648343025 525084222 224645537 309209260 553281167 787077469 958411422 356175904 102013164 904749500 106743070 750633032 330953512 914302330 916405948 863071727 582101750 506284652 764726935 492284853 520210153 433704592 689162172 406436120 246459256 849128034 217583266 796991744 589026593 458779421 187527641 566489089 548704574 601231197 404275139 584493052 357084614 150120382 317368651 475915470 200961750 554214120 913951974 886780244 826294205 627358735 101955677 861737551 186554781 779913346 812192562 717034261 845852916 719185287 166829136 839511814 726960506 117103774 685302098 493991499 205059033 492056791 558231078 513875880 861252479 591618331 361367034 709543455 672992982 329085873 460969592 835019831 198066208 311413712 688746911 724917103 683165621 599511188 261388083 483005228 767097666 447371190 657594025 936898478 924034063 441954281 106690692 682365150 738651481 673046574 675081310 851397620 969438857 475116932 484884268 175039234 798170858 456737377 922968960 866182429 555805423 753942331 667848287 545015171 392105296 919514513 527084705 695074317 667084376 289001328 404618195 798869169 978322598 454665761 567707940 121160794 639423000 890742648 415602234 288920101 501151924 231736503 685469212 622907833 543842875 223017173 599676005 726672124 816998099 873105092 320063435 822699035 714303147 489332754 198073989 853012969 599209680 996907809 275447479 613651209 803752002 317499216 890734874 411640120 747582370 173917066 143016911 435012127 740859852 260282699 828408841 261780562 846360712 960689494 953968651 216113198 759645456 287845390 342190976 426831841 203197840 500601020 693546864 700647069 105809946 223116322 737585399 520848551 868223955 475798562 524972581 281103027 486330543 790010890 375783502 430296383 435137632 278944182 247035604 368504830 570558385 131825151 561758868 768361543 696350888 711420348 840038617 402291843 619519972 170126842 752321708 440178571 787330212 453510474 305743122 957064770 710247048 312245135 435887850 829330306 675641322 283907732 374435574 767060201 765162026 614534049 536263737 922926959 402620600 674983661 251336217 255665541 764135415 377591800 138267691 865658772 291339904 841995290 598631709 876476900 903122275 387843526 156621300 835547791 257092845 635764712 893677888 777638551 568884956 585677669 404744276 500394417 243720129 826077087 525582718 113874079 292650694 254440060 708847634 312487371 189106166 510707684 913999088 366219186 793431953 268457084 210583938 953609701 226874090 150251203 721731511 936605104 115189084 726245952 389133436 585199578 495825502 900715938 993035328 948031566 470365069 347516684 878658252 998599559 123773742 257906954 306955358 191091048 413708712 577699148 564653379 873434117 840793838 113324578 840185180 715362636 240930179 531482366 988585089 814234998 433749995 475813074 803027193 651371950 351309192 781636892 292117010 621303615 322791111 834049537 418497331 767627168 466244213 340863563 797363774 962243987 567745518 911452856 431615764 856735750 688229374 221606009 121799020 698010474 844439490 988253362 675335419 339287520 513481403 833160176 139006389 756037203 882624924 871296713 788690584 233145027 655261540 758855218 570525702 613156300 119713624 556198441 245914005 873939082 272086946 613349571 845728573 273039956 933630363 755344527 321797237 422299503 864056998 914086944 868900218 752170388 774136287 732092573 959507912 880095120 519100718 847462814 263511939 708197245 477511881 340757712 885865255 574797199 454617608 216683668 128886786 264276823 690463654 540933210 310019222 801344466 583835822 163891221 673850536 834149215 949262479 963920189 984383108 589586217 590120953 912912525 609821077 486055597 829330252 592382549 651599253 644641654 438432446 785206692 447824958 281650612 626685672 881047320 323159604 309101199 301401973 378806797 368320570 597034675 916213186 815398711 338552218 163608393 848635380 636937889 887360167 695666106 700737440 967208098 972786651 705186501 457307934 971473387 139499841 815908783 285530820 530175107 741042401 583694238 868970852 887990711 354969053 430709933 919078866 284583541 452900674 242808295 262328260 314519758 152135552 195865816 846143198 689218515 918252365 471906357 941290137 143237903 240352616 960571122 119784088 951881087 277977099 395045387 336732111 440108903 838677412 208561424 111746696 210817798 517771246 738709902 351957445 313468787 602316557 470748127 489805788 704767490 935687714 639726534 176935511 273746729 107531170 147332050 963489519 980897673 582384341 349169020 668416183 735534720 216450448 688880616 278421880 250773550 341889210 644548873 345421540 339193881 528012807 712194144 246808835 100272656 541655974 876423394 966202551 908331666 234250062 590175508 445028844 218420764 115481602 911361755 945446453 344066055 508569277 717839918 857222670 962374644 674831545 812803700 680200195 638195875 852658154 734999163 325933633 326360174 518979254 555500675 385414036 313548842 488800957 667567489 460997609 773653596 659762857 149998104 989108496 287344180 131031028 883293119 676983870 911404688 211568806 965493103 912139467 409412317 772117945 387841631 412154208 211036504 379883783 444847803 480309971 112018012 212737187 222399254 553299185 351033229 862093358 173503998 956262495 776156181 643831100 620175971 940053527 908890141 602155719 506072637 212999709 521075795 257777674 656411398 909902504 245641505 514507865 550693950 421386587 793483248 329554971 451685660 871277383 360882972 661893374 585204627 928790584 629698600 878486542 898072638 379769002 388203619 294537801 998119385 762409983 324487489 874219556 367910370 124018540 139832966 677445510 403272375 541724269 740927133 184224729 506823621 130485067 658728680 953755535 119656127 204955116 721994606 758766364 689801141 348381992 151410274 529942400 679665102 319400980 656465315 581232098 262220402 450625432 451244781 738963549 850480719 201257749 569149016 927011058 807714499 487317123 813486108 718192612 248726077 377990299 111734953 897646635 551056254 406281713 593353447 561039338 229142698 923673725 758676707 477183240 725909111 234963190 939616563 429073081 552187034 779755622 278252536 317965971 614540263 869921049 844359492 166928023 129573184 532556840 190919549 690924133 989804739 808242715 710915398 105926438 190588174 789322382 600322541 923343534 166989413 679034981 851540675 352632935 800934514 422536968 702408851 665616257 869736897 688399032 346607587 158413462 866911912 804946094 609495118 871146426 291703873 178037008 538900093 901413539 403909746 421486504 556575949 521428245 126021360 896710869 542087324 106831727 965069671 879097264 351657491 298505358 153927488 632185473 721035555 766462075 127641413 881333738 173238169 708964570 397114702 962542924 257159018 617462810 514816037 388228395 667424990 827214899 496168296 407306741 748361187 646285674 803486954 125144785 720122334 617592240 859495592 244717924 997422610 184801356 798576969 642085455 548439746 792248927 900609381 783111348 288741416 498636686 791009431 320904585 358738076 251072241 550050640 442774938 912065384 153687321 921371111 878705030 745739035 693264574 220932876 734760175 250066299 892265017 682745075 192987573 539818178 260779712 312159535 554166214 130191965 127406621 565633917 856344003 398150525 356596679 600012181 291344557 516802758 731594480 130502183 962256207 113223878 187765135 394318803 185080293 256549579 488225788 817747838 333345688 264081544 937267629 604240486 938949977 633373022 385920981 391190509 559078138 709953151 157748392 168785127 179114053 813928109 225200994 914704272 235726228 778268465 223727917 407645391 748809489 934709668 417551438 893805180 717748067 945897423 265898639 433529358 438380220 870595289 293753623 273712117 581226574 528570196 555142946 485356376 661558636 631873973 361632817 420908392 697259238 681804847 530121494 134908881 397415425 800761039 303548832 540386148 879888818 477952115 275087524 302474702 973766799 286287671 528355643 653079268 304086782 379451636 157366793 524454094 405320669 674717136 458171999 798576008 885643933 366529781 486546065 160095149 883629314 837476052 392730779 674430486 633882884 802025738 685028326 335619568 370068944 937742659 298797782 815846586 207396954 636743468 854184215 601024906 599849498 867922255 989336911 639541098 752441026 325772075 460527690 345353243 621110672 627719171 953132690 862925429 669194776 252515462 993204861 637325841 334844979 796546712 281194626 761471816 170031685 490485218 483619078 807232015 702720067 757755986 468452136 238273061 306557138 907484360 489579163 602002991 704509517 889166942 797761807 495771255 982376794 106934819 881523508 770213638 392278846 956525498 918683769 572029902 727464686 567860632 362266390 836761413 340289248 558495945 122789844 592787823 260975873 839220610 329181245 573566278 223660993 565194631 111060220 281887782 869248550 800878430 887481354 370232232 546900975 797349586 700076304 114224355 488288664 942175993 536908469 379714886 815047200 396578113 372128184 330586442 575818762 889093533 206764267 586551232 160370661 339348617 734372789 134271645 630230586 863491654 847998025 593806958 232889774 927697736 464044135 203819134 859231679 999183501 321884928 265351434 957544974 700573807 674306112 906913512 625301848 373894936 385744852 177730043 694306199 132459191 165881893 359566941 165367615 484714929 416637563 955573291 480599702 590906177 923233896 181406675 945083253 164676820 652328626 245815928 404547520 783861643 377467051 380438460 595580541 478265024 174360280 314481047 682071302 684637545 834463727 850155687 769813667 741104997 337613060 858477316 221278008 297677845 445179622 341934288 563507384 376073494 558372457 536277959 908873734 247220016 365178801 406429769 218307271 938688456 303037191 371990806 166622658 744690850 192835174 230707319 198105957 958518267 450557502 978529057 987882717 253410817 443970736 728266890 478231202 106162931 769636935 680381375 428546249 435772648 838130105 752686524 978049778 170198174 908644823 409554139 359018743 332534952 854566442 546679371 445705913 657896855 241927963 191294028 397529703 308720074 121548349 303667072 581678915 146703192 508828991 701272944 428853206 128754790 239369985 720570058 621523518 647247461 521297061 584001036 281714294 837705044 666503450 868141443 341592247 635045465 631076525 372141165 442692168 110517101 770323906 447174908 990727021 343867555 857128724 281166010 321737365 412212900 530259265 337087167 897347366 975598676 387901384 934101857 570221744 706347057 631027433 771079512 943233069 361028200 344030020 888399102 635538102 620814508 324518403 159926059 446539175 965981344 699363695 943757480 782017832 242873847 821301230 917144647 927865349 910503643 535906193 988728500 990423478 424180449 420903442 648363414 744512233 614815404 574279937 659585626 153263122 174628481 499303092 258409865 101338820 394302817 564221419 591594223 569398978 442949771 577286101 230627310 706586690 947132980 848520084 273555968 642099834 316172694 593357966 148167774 494703325 478668728 912673155 598425331 187994235 771765872 480003756 781620946 259339441 871767809 380696434 882091044 836105559 790409911 454919160 730580923 852256936 872278397 247975329 411122054 977562311 337986340 617088817 265142172 344825458 962061982 909595284 779826576 824729213 128002454 972209467 468047230 622493465 760416654 591158702 935815387 661963151 959323503 107547614 794306031 795913944 236513378 338327710 847044404 713411923 809785794 460366560 455998307 111731654 621246246 578379722 212028346 849218480 460602863 954413322 428721713 362635895 165907755 795797641 299090995 346641107 834649175 959491473 279808856 961134216 122838486 464874147 267787288 336781191 568944584 946088583 444201296 351083271 336604482 357014086 690936706 536662241 771151286 961179883 856257510 841491008 808131237 202899584 809823455 806036814 259028455 428209024 170649150 331621108 867067056 864753700 304848721 518849524 747771634 607251199 313296038 322095988 944750999 371480364 565264965 246470252 732662645 328274498 984603055 700666579 846349316 145395953 794235770 257473943 172612804 343775448 642375790 531094261 454625721 474587670 892616997 676348073 522474102 447597808 140136551 270289330 627954207 561614936 849360841 464439938 339814747 201859459 401775500 549140276 719702262 857445009 661159823 585683107 460897291 945107698 362128186 595581846 366001554 143590976 764719043 285114180 953425746 926813983 426739159 753188815 998449098 399028722 495078666 135076085 163219161 312225030 864390445 404964885 339746590 349120096 882745483 940166577 391837875 576746892 320335174 657415527 553370692 597108843 418934743 916724440 192151063 361652862 533224855 595776732 904655191 170495077 893938521 295317341 772607594 465158780 235650634 150040953 943159578 259725864 106201002 135657709 919851453 450183833 837765593 917377437 368888128 431674155 455979842 200365125 629196540 911064808 935702439 434345089 417723458 992643978 222653870 889965658 837377077 253521604 105793867 146574335 197517155 799475824 634695120 657152225 427982285 102079773 175157121 987967027 824795864 561913478 917647763 834050620 361485451 484763583 576246448 411431389 250763055 944422764 546230899 690631956 248791009 365351399 113719502 481854431 102295417 857442342 416929746 364107312 808719320 632296325 711508079 505570498 544134525 816088224 608656413 269380786 943656175 192616301 707542981 399296051 244689432 174244271 945511756 612965538 718820940 266992080 334419498 623565324 899069080 367992015 319568333 222627967 688873907 514972657 172991788 336286852 234221633 863745985 655885696 888565809 792973483 476156368 611379069 889609034 455137154 441539679 102858770 124931954 418532419 541409287 943523010 513216733 433351693 460159059 662739361 287223078 674088805 492783140 401840407 179805380 606425219 540348753 819819102 360724258 917140189 673444966 156685471 528007024 252024830 454751901 753894626 274134975 254714819 865816191 386306018 992716675 778121277 844563013 548231909 632888485 425853216 343162980 979200578 444558986 435991041 932016934 515506252 118269967 243262501 287806738 294493413 310431169 709930487 807317687 896777628 628626240 635037488 566586584 308684376 620344471 583385389 277072149 121820959 635837336 846988784 871713869 724789744 788510168 779593670 673466936 781598304 815534711 721380451 611891616 750653958 707641461 957094908 638273730 982706821 603711528 251255121 488958742 988665627 645012634 482908866 748337261 198990016 520833448 807741773 666631895 288026868 313765254 702628119 119626235 407621958 794984487 150493580 981408373 265432682 381081983 655784558 354867180 323848337 860988542 576964345 645441640 683714400 179063793 996623303 414857683 883090204 638324828 821918086 783487787 921368780 655692823 594232736 286643046 181384520 218126518 276155426 131979643 803975358 533662639 786460056 105767501 647759844 600694978 351696868 281762803 597849690 281418139 631591260 887653994 749250616 695013616 915987987 667181461 934180570 760778162 577214545 258452321 774285153 841896623 364406694 707940814 771885585 313165637 764013148 203855126 762377899 102956636 353233341 289256594 296704131 890337468 683800847 761268697 977157978 456768836 832794287 850286980 284211467 365694310 232331988 843724120 489239551 173985020 151142960 131134749 281787931 377007422 229979657 847226981 782345077 680002260 433431458 468262178 728065589 317892337 350841319 980707140 663702987 812915994 551051682 940214497 914254542 249689853 237017823 875426391 444935127 458375628 397498220 734566151 903969836 545835210 593481140 768937229 324611026 127231431 712840322 323059126 911510585 634562152 136778791 596267059 693085183 252308182 128344096 165903581 225232178 416167022 620298846 186497551 696608245 461509349 803500089 413148586 432758273 366932936 606489433 341505315 321706617 671534261 893193430 131259985 216865391 563865393 800225995 885372426 599724798 968230308 163823531 279851850 857929790 402759302 777333346 697332292 650982378 524519324 185962798 385726079 628402288 456147278 456958467 725200810 269488218 586242370 829028290 480586209 576031887 853354942 328970636 429110751 457858467 824534106 497944048 610099423 689423310 199698446 284481570 330268156 499252637 779212548 517065123 611208242 121038534 865952014 870676665 307614615 466059420 595824541 388997406 372509158 133586758 106197848 337954425 345875178 364743906 556573263 323868289 961580796 916395488 603797667 696413071 183545477 536691294 289316150 223244609 544737274 560715509 624777227 451627375 302470025 763106963 342837923 106565156 363218680 322953668 654224246 395900052 189092174 410783977 939330032 999485751 665349678 130982274 664900671 299239958 246134534 620900279 456127011 781343333 561809504 234977828 144867093 286888708 843548597 250070773 898883394 603404725 157801129 550205525 162567827 730603875 890102730 495386084 383084749 215385363 109381884 902863403 128494534 905363445 715893488 377351921 173012952 627782885 714504679 817162872 835484580 865764638 240293685 612919961 746832524 616910362 101479638 845420323 808155146 355753630 322378381 986074272 556223232 677720388 267945147 361915611 775948873 344463721 781439517 607220896 710820883 234381329 541743137 831476923 770500057 460512120 169083323 163794733 263723322 455483114 865014347 735386516 716530231 364228799 190004557 780817688 581405182 230108335 118573306 118127475 275318956 809211036 247305948 631805698 974126870 810503796 993438737 756970587 317191180 998074867 510327263 922965607 413917414 549149247 655672296 904769328 905130194 121026892 195977960 352496703 562459778 767179414 142899674 922289341 650787366 522615739 866919914 615832419 852313810 702436292 828574113 188047036 499351518 533081664 296883629 761768369 360527559 139505591 210486321 398098676 529342112 532747939 206214542 420766239 903645391 511578035 524002534 367770432 784929007 708658370 916952705 316505229 344049338 780419021 456261234 784246915 859694223 779914284 460920514 905664450 731427611 404668106 777312668 375090278 360552089 915213993 471460624 819024505 951331078 254480456 662574965 458606870 827227215 600043786 989599015 819346756 785761742 470987396 288742422 884249223 983058266 376496225 814549145 930998781 818362680 570052459 383755033 430871711 726697520 981721343 974499616 524155709 139562860 634265986 963086636 578715389 971496165 738576800 122287310 938015951 532562321 146811910 884767732 425794368 734412931 838433051 650350385 679418958 574332066 846029344 971646186 564809141 113378284 787552183 953102594 157088686 466163748 834243819 781549723 691286641 958836774 937636542 634498312 423822095 824013841 281607839 531768765 723538724 752787312 539724056 351877748 394379729 418939049 515519644 946700879 563807842 305395126 564956351 817545361 521490590 289980947 383744317 274888133 720271850 223061556 459314634 267123117 787412989 850674438 257601550 521403301 849623375 804666503 757198508 618310301 714265801 502209747 708488160 265177874 942273387 901595632 257319339 860212967 323462293 526040791 496027247 903243323 389890481 384593999 489490504 582780213 973018509 125244389 863659810 418697826 870744751 948351436 490281027 701780044 391954752 884069345 533374262 586352353 883704907 735145653 673530435 363239548 757462167 283436934 771706044 709935947 832231626 380130025 630136156 859375873 641840174 822471868 130491685 734838804 156265022 558012620 275009896 102956504 123823427 328071409 106447339 238581181 701759272 527656010 708818959 825343462 905100148 595602804 785870959 892964391 435423434 403445491 466932764 147338609 445346281 821358690 162030640 905374549 579727646 512194212 527729725 327541761 834113462 510615809 993816517 610508966 660885525 248286528 996797684 487915796 267007823 918051939 253583766 458256662 919081646 127137966 154753588 398761926 709063405 628748784 731438602 406332201 621227517 683576503 417145609 880636313 889340887 643524696 926264642 782921908 926617988 183248943 751191809 970531618 808452856 744672485 374872510 880900289 714571677 486445683 656210226 463689940 288873410 531037155 233368912 376362076 278861934 232475067 771621748 280693559 402715423 772896406 974893087 394900125 770203366 754633608 671509580 173532981 603701929 761251458 941034426 846714100 289322226 241551830 954860145 923851525 409005583 195488672 143598252 138632139 487815251 925293014 264325595 499671220 830795603 562908613 721658598 876620575 175018745 370143538 763445208 926553773 924544158 663521694 462010773 161005424 800535600 203368363 259721056 736092683 614074230 468486619 136056106 900523356 696270169 662641202 785478219 824660786 580781630 982967079 996166088 897348654 955782730 273083408 159914997 515677125 548119011 697997383 550422127 383902304 155393192 590692524 404837439 415301226 932751207 839595024 282893525 972020915 604883762 251073534 709188749 188423626 781924424 862580525 782297573 800451191 345704325 426038620 220582208 478232968 986266642 480055508 987579991 897810049 847122611 941404996 700501669 256792553 942938721 570229499 758858795 875216133 531265298 240049787 950104810 824801900 930113555 194806196 393815109 732782018 969382938 315067902 672608909 585860192 895620833 316784447 139205520 926424851 504345332 650639551 936277624 422513631 590887887 222647369 795070984 827655073 846705511 663033765 521419697 359724023 440094766 918288032 750004270 914814744 734595352 537691391 535942955 956614209 189823432 975305609 278423195 794597713 218409200 618105028 889065157 463846058 906932664 468825040 248725922 250814297 917522361 613678401 598430509 450013227 350533967 469002700 132842368 208464549 126955663 968431718 412124190 590035230 679619680 198332808 241021379 436093174 590310500 148396299 394844454 759546085 776896744 622066474 674591032 213782020 480875462 517760447 675549008 203449955 605010906 416287913 823241630 627304973 355133771 910556501 747820398 795250183 719906134 532910855 732940953 426414961 478132246 411765538 503168154 514359692 352022402 496899968 918326586 787585050 403814411 757661538 118259761 472193238 487531659 896444560 625481978 775735647 952373236 424703290 514425800 320816942 290117346 755591239 530630484 876613755 271378378 864844789 323905461 757370032 393917895 598543384 240597680 683287320 106710111 704765399 105282857 959668506 726036852 254889655 562645175 880735230 454130941 856653559 439359735 411195229 788369683 917579756 692128768 716624484 469255706 782859460 517037161 793148719 597206312 148276134 324842274 376564288 769743866 895145352 680620600 874868052 404778358 123769874 423016916 356590762 792027219 790038858 431655722 865379581 669910779 685470849 139815584 899841358 129562182 492809265 400503047 779370487 603149478 957687503 791678114 384790566 999872688 833426523 660014125 434536679 505331546 990625421 827924997 582206173 871600919 114202968 902732199 247759506 968451974 485611341 237175850 764466987 917239295 142355720 194748170 410051467 483460808 231396660 814953447 587433150 526214232 282705430 763440450 899239326 527907460 433717088 831303365 619691720 615899170 906304861 777174492 567408152 141446514 239620267 643502824 212858434 102148195 332198172 841040827 511199218 336796901 625064924 172362847 626639581 154584132 359814593 192518831 852224613 572066061 110073558 925879601 993372547 662698693 709954953 355548281 637836488 430074715 713157392 313498337 756328709 411488339 287942711 272950590 750587903 924690835 313204099 637976648 726862278 885372560 983023182 955900379 771924210 215308405 604900895 349375658 445619135 680888725 437586510 123094029 464525578 862422517 429789272 699562327 112937776 761282116 427185136 136595084 960437047 164403834 318415612 324246706 907737689 611829938 135275839 966614578 692208600 402764530 196457814 433144977 387667998 911764578 608170368 560108515 484250958 971065906 899531814 241726374 602854102 600063367 331163424 836865093 137655320 822279907 806065655 873217424 421551610 343559731 861721167 850357224 133237268 455066345 869852831 989468645 725602877 276379431 584659975 413493429 556538412 972952269 795322114 452901755 657238667 379398856 932609039 771388153 739222809 660990678 977945653 934505914 131073052 166673368 227823648 619760037 679990678 492873591 105050993 921641582 626860486 684063671 688094372 673632358 327856495 613480897 184403797 291906568 257136574 925269014 764607924 642958966 892715842 553377174 943221620 598758279 107082021 215906268 247570834 116496128 941333466 309147768 964481765 774305329 166244221 208505208 981163991 471706974 437119678 575333849 829227722 498792697 849582873 819931752 389534392 575919613 456215102 863050059 518163597 696926636 669260309 692935912 970695601 914522412 374151251 878035804 950103899 219049534 405418889 933549348 118900959 444169264 469855834 814423965 679600982 862206186 297409242 436520019 954270300 345714477 556141992 434024571 776728582 723337048 258112575 780455224 941745413 167329996 662970123 286458516 703789212 625590008 806687422 832401720 907669670 809327480 251699009 368500844 840839218 528270595 155756296 442232165 879182766 431987540 950460742 644928680 404491732 283498976 527981882 201545641 879063746 383318814 487351606 602733987 504158983 343436928 251744788 224288783 278228478 840790757 470907511 134109183 748894872 689039867 198628398 776311086 589966015 720370824 171725626 530435995 174412718 547566607 783329666 140253579 331881996 639931230 361912220 889863248 521014410 141007228 702696423 832946458 470001350 883511158 966013088 746549127 466885399 430461886 484388256 733320466 688052798 265699071 626082534 964487338 414541011 385910498 972682142 358587365 311358606 405590189 508702172 555566974 416450069 667506832 405773535 481573842 699180561 274704216 273183501 520172737 560859973 560368606 730124620 370079843 707482737 813747507 555131645 537401403 233110030 339846709 702048059 201832760 842396282 279350425 817222772 673076963 679126893 812753322 968951696 861198909 894701987 943205305 754278713 837600995 681671821 418798313 339345182 802245693 515329140 532776814 168381772 595847102 174210658 814873000 936788489 974599900 717801604 534307759 402792090 653547719 193037731 714563312 490598248 571836737 351229448 710062316 440273105 631621818 433180252 240489410 459694464 390448278 857273671 814276052 142089511 295054853 699806962 925343910 278557706 135353039 815568348 947233275 942776775 969212356 586586317 894688930 630764651 360012549 923601708 499267640 114398914 962526444 763334146 874650445 177586777 879216973 520877947 143788489 929765499 480188802 120364562 380644215 286323284 210918600 196571311 123540622 324384357 472901997 808823250 796710807 619403131 533135572 479880480 422750043 299807501 321324898 798527109 852181879 738321311 669099703 731615557 316059307 275512521 758145673 187806608 152406358 507549367 433633816 179684480 500324253 288162456 223412839 686525416 214504853 702740286 148927174 431317282 893241676 575976698 246372841 434037535 508308321 440564875 179649247 133079168 932044121 575028858 761333054 106008315 852212419 281517666 784823421 445513754 740684339 381826784 932647551 227390900 248268946 212792459 125509723 549943222 920500436 106335656 278745759 643206305 799688555 236675786 593099599 951478502 986242680 158808709 830012237 258460745 997686565 693690093 670251556 275840682 363571757 488927047 476489625 935002596 160093895 103949736 225225896 942752545 588427148 272896424 560991761 516740323 964805848 377815939 429615159 764222557 614847470 979712653 811482958 694186478 843868107 615645834 812993567 544998612 635908753 185987146 325571599 131001387 971501808 252028205 911442070 415815557 149797087 608472870 788075783 560791731 197649495 184404462 108213502 211860469 826313454 552398545 327653414 698403772 280070402 989615851 483338577 189627435 413559545 807100139 799312959 450149545 575662441 272482412 237541304 570703154 486321990 306129854 980389897 320886684 336694702 700353838 696894389 534615095 469623879 965434387 158397432 801341999 420001448 464983219 719292388 541352185 856381961 266804994 122873313 476660291 578038944 279221772 252665684 570488213 732257667 218797426 706026353 482008888 760247764 272017215 819416635 502031232 103134530 542964307 814329216 760368807 467920211 783954755 492547967 112410385 469154282 486908242 194381167 818064472 461490620 797230359 783386084 469735553 222415233 631125497 138910185 582719123 535208149 413086923 232957933 797989447 688204746 979726192 408935040 182073200 408608460 347256998 268909278 939099295 868417445 626969351 409078229 418173775 403047979 733057527 878514165 223213697 332821260 123725174 402242700 331322072 587651567 661393865 940635662 697310818 231993143 341606418 925580388 884739786 580879178 145417191 577325144 415628921 416467803 208581592 261690028 114617386 966405283 467154749 554723428 643946771 403203240 164820592 230980281 821251134 538510321 945564522 735370630 558274940 842130815 644549820 432968500 971866369 718723107 674570415 923698948 867997964 589589847 268999453 676794125 178267726 597650596 685223423 459797353 636141668 424116538 399989792 270547862 374393074 866242445 722009059 683595324 937851124 185497443 336152578 779149962 804162372 369792194 394380596 350012664 637286908 754105319 732887412 520262079 641012257 854458976 385905559 172709275 865588868 672507126 632478623 209357334 463680462 575943574 494770552 603348034 896183024 595117560 401019721 896723852 620100535 982409918 255180604 676654520 832267013 433385158 114157002 584617546 938240994 182849550 432658613 397641131 825923311 368988095 211407273 321441817 844222118 804949300 914208806 325295151 918083188 764697602 433143199 646376560 583497000 693915076 377110124 767026929 247640207 147287470 595733948 906669244 348446216 170430077 471000039 889752019 904109156 427249629 794918816 712424963 515483665 804315324 644940600 153472256 239356281 279970392 982763994 159594231 457039447 389541475 862181561 812233894 853229946 395567754 671050372 753897804 782769630 816972671 383868612 689153459 122829685 916230534 918131973 372146251 916723523 224455029 837768127 711154929 122385014 138622073 216811877 554534961 904775190 125114877 326790836 107676303 745799345 243273647 722522107 281947603 238192765 265283959 248173783 138132108 773770229 995833333 234150041 125037633 734426570 804430652 230698000 384542405 281617444 734800279 282067528 930920043 264542403 295856692 282466857 360918042 337472713 479941474 484452957 991970188 108337916 259534864 483609078 984021441 716145032 944875951 688157002 864418615 455993820 361525001 574291825 538297570 214979629 552623056 642759214 394113517 472499363 483035578 281801915 316691006 862998122 904970905 556585228 506238376 745372491 323182388 446563850 740529598 283693250 141092138 227255988 334263915 698928946 163079723 544012699 862599643 757776162 790375740 994603285 821515615 902544559 350995784 691105850 640114579 709396629 909148502 946284018 256829618 224022756 820671628 423123687 178803457 640800800 703709608 363640770 116747607 434654459 139853788 203509327 978779794 317812438 281525510 575237681 633128760 535578982 277922313 704770026 357383167 137039055 720565454 329812919 130711314 817480309 759971849 999883567 357046162 497069816 729047504 213437374 998025356 202404693 822771489 971686626 155086859 537661495 188552420 949230594 468431096 501300056 490127437 396687872 322117110 378973761 720954964 849070082 664169940 833363467 802711516 641804789 406753346 970792305 643934578 886865945 451962582 256433478 744039545 184346885 951211995 609314037 456994923 749917573 564942799 326506262 826601442 128623815 429693776 745804761 910410609 893455700 760318230 478950486 629105966 107790874 520850554 653189581 363674716 723443084 877783798 144261878 720646552 945512939 853811585 882252210 813084696 787315842 738187571 898852883 572268184 764435294 570029949 651039546 880668366 880461880 613903510 712809129 307288774 996682450 398794169 690661655 304874110 285957780 403864570 948367583 781337974 398975275 597751130 272432599 565670471 324051049 745570038 463360383 216857155 181367946 365148179 805738315 297943099 498174693 470233039 830462510 896364391 181565569 906039500 132557062 564992852 435081678 474336246 667430579 515544511 632427897 248495971 556711491 887918956 381726304 917869220 595495427 368270974 750590866 269555102 398055344 404582112 148792300 773246778 852350480 613888278 552679356 484465244 773441335 439669316 463422607 948423199 917708613 620150395 700067230 422751623 294169436 317237884 242805517 522995026 552301685 175204798 175437472 612660295 764995367 194129098 998943684 207144411 253894622 152578875 423918757 364789487 295920643 829061195 695678222 290078964 117813602 220102246 129898767 625356263 297005993 639792577 840297986 804641690 548377417 920669491 115327590 705133021 990681473 480174717 843903512 757226526 476356626 548395373 962476404 486876693 416056894 218900775 749279409 339957064 266356723 714838946 744641952 897980086 187624005 206225113 494547060 898646410 102522657 424076066 676525408 613661042 258882775 556757694 599507631 296912281 928927567 116838601 260609321 726543408 976456167 285905455 594798882 593625455 839301825 126560340 420260078 422333051 389165960 895446110 683030443 660447432 518376156 472246861 255069505 836700999 502361912 742298253 356306420 697222975 840940762 607325729 380690311 370207274 413315354 515542758 685854834 765394819 914593520 514614214 117950028 865093848 937596589 257561214 414041413 706422395 801848705 842123574 325373279 739763418 430149559 316040908 618589638 982371345 427305877 314206273 898432823 409531720 867689637 115793747 411581136 450401668 163243229 301096873 164860692 141520682 219578038 562041999 835925289 876090456 912199593 511699632 270723074 367929014 494854759 917809400 200038927 327341730 810078230 686959235 813333123 626826076 361983026 263661826 915127349 290627713 321572567 933486962 828470459 669177008 881170969 319809991 812660536 795272647 301592283 101843606 408838612 332167439 422760307 876513627 729852320 584247992 200924175 703552308 820296105 576825212 234234144 162212359 567691560 981988636 552154927 883065267 115246105 534198734 243428195 408519514 657491711 488880676 317389182 644715423 589041119 103178494 292595138 205682086 255146822 658168412 301569439 613647271 898247118 557972830 627337979 282596252 782537206 914123789 144829793 962101827 346379096 824669753 639745387 388314384 877014377 541281280 409756327 980077353 256733560 676509404 598652395 659377727 370354481 822043650 207309337 255866748 337282052 640849040 307025358 381885330 668257539 468529543 712903198 112542455 496752930 245789736 697362355 572823004 953628212 188262218 589190011 952648378 230716439 774255736 149621230 669349758 375530591 366001874 205547293 803810726 268698938 441905704 265074957 237201118 335685244 804873715 300508336 822809907 356971115 283289450 211207053 603806766 337577009 799333544 556333277 240465409 220541857 567312691 122620992 393577463 115855559 777785555 348582180 571870179 573521018 516662782 276252319 766707112 947850736 857403149 707314234 775905813 776537240 511636671 155460661 182382526 388667788 353794853 256282531 883569802 470040354 391017717 842490511 421872692 941578400 373649667 933742917 791711737 106234999 916814179 551023950 924864517 613857647 856111735 594351492 841836601 913336139 245729674 798833645 783856035 273612907 511896874 764548291 218178733 675601276 485545910 281805254 344591967 899496453 295710892 996412296 764823667 286746423 576755932 538922755 351915614 304920815 749536420 737662458 685928249 441172856 768919670 884234581 102872935 659258954 774856690 433741367 957731599 947022421 574664559 732147529 563264412 359962956 843320823 825022652 610250419 719684868 925614400 937909128 333441559 460806475 154462311 580923900 278933309 549758106 283720334 497655888 747739062 165616504 335181906 578401131 292177305 205441752 156792811 428984056 565243493 704566957 335305249 922593112 174079619 350722795 707763077 863024552 327604594 193636296 591507187 348867218 181077180 906527096 655940691 354284818 238181372 553169662 700349745 223583843 149846099 554479874 857551160 524689561 592064265 459349929 770348012 964933781 449600730 120287924 503122906 545506421 591484198 229010341 261658453 215759962 778081468 569204246 390390790 875688887 675845010 928969445 876746642 654615938 284055633 567874886 501977240 280004453 742309668 391437332 675749390 376523577 557422455 525713351 435394346 398284591 351995997 750967122 503427781 434310838 774008342 906489268 146780453 807715974 223801095 268998268 533345850 323998042 607239019 750817870 782657536 143651084 842308974 360838898 164542281 873615204 249017831 532478741 956384716 833300773 689012016 634804140 208958658 296132988 365615016 739460770 570536141 641590793 158701279 971122693 830349735 478288321 283646633 637730065 498618771 205899052 761770228 367527069 737316252 118260310 919559739 179103139 258147551 897315932 263296287 338661940 774330415 190589583 589111838 884756518 203995925 434190555 261645639 977342329 765424024 930816476 769550645 859773655 317277831 410121059 440466188 593512449 449880398 168530823 754213037 861842413 378544356 844498064 625807796 855415494 284902503 829226868 422449373 392200945 728092464 253858705 793502688 588559540 709731776 917077986 334567377 492587629 486844402 784545657 766654343 196847316 277411025 264377907 557835500 684894100 247783122 162378350 878314090 814159769 757583643 309508122 940318127 352224731 438844063 493650449 287519965 750689090 656325010 369074719 800277114 233862455 749717945 158843770 197078759 799815933 379715417 964573327 577183057 724789937 175248430 379383047 284959672 918207569 869719178 778962562 680494100 613573473 659838223 770636584 513450010 209620444 766997315 549048936 350702770 318945711 917079824 301721446 700599098 579395512 318282746 748761230 932377143 844944104 282613798 175013437 101656034 432769117 505166276 100482888 438594744 771226215 678206072 499755780 904099864 492895320 934718410 391508013 800482749 501728000 285911996 246201187 819977844 711685237 323374013 940477221 124333906 232721086 683853132 657257871 593943745 940064717 322812998 940127613 206718230 436924966 531583346 220076401 188203335 444329545 883863548 263530505 484915934 208329943 347429964 701911347 833566314 636724010 802532626 487592885 618989247 462783871 816839895 983140757 279770789 361655085 568672200 760953155 931610958 926678398 753060414 748816105 799899847 840448123 519023941 661084779 511539183 175991349 225045706 246157428 182659527 685455803 462922359 377454398 339951107 771539705 748206904 163308875 929631630 233399488 577017036 461717889 911022465 797267924 263588883 475006715 509822123 531163757 654094417 305806542 137641672 464525081 773471993 213397144 161276305 680153417 322861197 655093139 148569545 977510740 475837315 261661936 370227168 195274493 708078616 370715838 845202534 377808793 732787504 490383790 841608589 624605381 293121781 438434138 961980029 772196191 637925190 291892575 177826195 700136705 411313664 752898404 174355355 299673872 663801600 109793326 274334903 267657142 621152679 952287978 782502017 835859654 433525448 175147317 629267784 734987430 573376157 895579095 504105610 894486804 260469799 144783582 742159786 294526534 468793117 362601865 558669748 602615687 660676164 512700619 746628174 535351198 424301053 989250976 371304266 991082963 522836782 991460685 141172311 263404069 355647545 247856190 175868517 466569649 654548919 122946468 938185125 356002256 814642916 288907485 844313854 999158543 456716502 778673692 716195945 870825521 258407394 309250768 520018870 691036059 914479964 478140679 926137080 550919368 959464792 469927703 820366455 599988046 549060887 919401109 298714954 513819272 653050315 720899137 891594211 309789080 553428541 866919002 641517540 865659909 587096137 997478599 969721467 505786770 772297715 850458970 860540424 258390097 857000183 689008912 879232649 614452974 942807725 193526799 696541622 212460773 780117193 138427970 892175266 859622366 621690289 605187853 648691988 551069342 937776179 766689271 913601166 725510705 207311060 526758090 496356678 750375625 922763850 646889534 491726349 135819088 838578041 648921078 306953422 942587916 630914388 531552337 265279573 480779259 812329775 214726787 694725960 803820714 523908884 166638818 826811449 919620835 793930265 869967797 243891318 328975822 129788006 178680017 855121320 716061212 309557294 204806579 191144625 210344439 153325684 875413014 887111100 764910413 880539193 313146934 877605174 635457074 251776738 828263787 915595595 712414965 548790779 759921227 769959988 373405826 199820009 682540572 756091090 398264265 585280202 756841815 987210096 972000444 801919803 324200051 521939497 181793393 330094763 492474049 233978295 185059870 584358373 266847939 760228518 996308050 964279871 899305466 273597422 290228800 545796839 279250789 523542951 963143075 254009514 237716057 750633151 991662705 360212330 728011203 711634043 940878548 917428826 565529208 436140210 839076621 866068911 752452440 844766850 886591857 908541260 571369292 774061596 983712938 453477587 158009403 193194862 120394099 190311812 901401776 869972054 883096374 665727134 272435901 912332623 187704506 634443120 430284724 379741834 335396970 661388906 537307940 739840962 404652821 650274392 182124399 981937857 767911379 105006520 778273486 828111983 617395348 181606708 995280059 151327536 925082747 113545786 561164426 942578090 269042770 262338193 323812843 951904637 626634736 817276607 372837317 974319097 937836752 843322977 967224030 205683658 945601299 546814681 738309272 913791882 726655176 248941385 491629681 306536461 223369320 956569018 680138519 993922364 730774185 640538890 793683218 539922588 645426987 887261248 190827074 110071343 277163631 871686815 934615625 446566029 872902805 876814016 469085173 262775469 463946490 645650480 940793897 994859519 899430878 281786385 912722457 376141308 133509590 308909572 974860626 594667017 432435370 427239026 135450376 109498899 866332480 467487643 246314115 438539357 529033330 987218892 690123844 110187497 743194700 527683573 992002651 124014899 542310614 129049572 707270300 368794855 102662204 352645186 245746815 585238066 183855787 310663854 251205424 656498402 621056445 422204971 703503030 900010701 596544058 237277638 635544683 888121153 712590680 570818910 124283376 210447625 945679439 908482793 518430176 259860925 694952168 361812212 118943519 494933439 162776316 681983654 611094427 397141630 552140692 415734279 569332002 780029469 187041072 464375538 271034422 645244556 236488234 703354629 116438597 514303023 737810237 560948900 308634727 732087479 108044184 172254915 285225988 683865003 319866646 526138486 443609943 744240681 130718894 816301599 529949893 922034195 190905583 225545047 490205994 207098166 689089695 545553187 321031997 633347507 404196216 939781502 852098655 690433342 669976852 309457490 330348898 526175543 683817137 204647441 691002252 894979929 147756444 884450730 225586589 624938748 439186779 379800907 450231691 991543547 329285437 317263498 905387595 916970055 267349803 323654309 697857502 757770416 438215981 406284451 509048092 161359145 604517902 169949124 244951408 266924778 698127026 414564900 477259282 951478249 152628855 758767765 608478110 387474577 391728477 844254555 354911486 890444352 284873554 609050688 721670650 838120977 918579774 340771331 285290829 344430178 863221087 105812772 864853766 366310961 596281536 245926321 750632323 157416641 170367096 455844041 510312873 727542008 854647050 811145172 573678613 194022633 900348602 479662029 807299323 113993992 975798449 127514096 831833253 224827832 873818974 932559989 651877787 732682676 551582445 743735426 739744644 828289677 768401230 681674435 543313695 204000586 351529327 763090395 809414291 467529271 319643658 364147065 538711204 151725331 252845647 288770551 406192076 682139339 951874455 570602525 981333011 582447200 282781368 294680464 842946567 587668725 700015868 698698977 104973297 288643095 552447748 163354007 433328620 848017810 530546330 753115196 691295034 783941338 811192813 682636647 338307100 977200541 125181990 644950072 642690125 930715288 460609185 727373110 206459343 968579837 401162377 387001642 456813344 460286759 805696618 175445719 873018197 984094597 404492343 597136103 609916680 429432409 601381237 458081300 591569691 435488481 343844638 116461132 322414576 107537248 483791387 255421841 284260235 506681345 735601125 755185355 804368044 838338369 310455438 402719270 468904994 470904223 989277206 713489327 350587450 351198465 975891452 114696177 919441198 386762438 646923153 415679847 370598864 984558002 525329057 847689580 124675273 949256749 877506867 228814472 492850588 594826747 715879584 939693506 260258686 353992704 960197645 320512822 199465923 934042749 613292566 726960921 724990450 459416123 935300809 281154692 217622558 897754852 657667338 384691181 195018835 357410323 130297194 189485641 713117570 954796361 378548975 693118548 704500391 899010039 604857773 582740639 168716177 405350947 563074546 574948561 991163224 870020651 878527792 356371674 228144261 342923690 106456363 916880139 490374407 576217093 100764849 205088042 148033669 831738792 531037030 573655758 874992716 638991945 764741654 741596931 123410659 250040769 540333270 885661909 970805000 621646527 743471271 450085704 248739566 287513832 189674900 432682152 191468464 603118364 121470240 200497064 565818513 244486864 926381835 777079653 136430262 197529085 532625211 798867964 998666855 175971278 464263835 408374214 672285483 163610045 196396489 749627903 762057050 272345839 386994243 439636674 860549047 372076781 104365419 547423743 151042064 488559391 283879552 707245765 401526619 958277197 357124563 856757641 776897102 251471211 599279804 225588212 454882352 653574580 418732408 463355649 516493027 552471995 709815460 811062007 112070179 812176515 100808084 751003531 369236640 619649305 686932086 882395473 942444694 338460742 731788136 939163728 316036903 733024994 821252376 334498445 531933332 282062543 733513690 135082601 784624609 728459105 892851927 321242364 821912983 274975199 154866492 428246899 475672840 413280787 631536844 120379953 169406293 579230140 555141889 273587619 185389659 684363578 983412044 304257003 894721726 223670185 401259368 593657691 947840775 668773217 242810685 575254524 781521953 166729847 477302309 550731088 122426420 997863607 420962358 221865758 257039730 558751938 132404565 287363380 551626945 587776839 582374524 982808831 704650521 390810501 762974879 871191157 255827191 741550522 373807920 897841859 507105837 409749724 336848292 300679520 218375225 897773151 759200495 654514559 859717182 687111568 529465767 444016349 312991623 497220911 455019038 103863698 159681246 635303508 611868290 765063389 837620655 734079874 237407903 904685553 737147498 471553925 465666803 604178045 371493922 606802448 766389972 400215756 831419654 370401247 442166251 588374515 107198798 606585209 910932343 810787172 248621160 272159256 577380699 400154857 296454950 522085446 597246548 229741629 923466411 630100094 497870962 779828014 949479349 125904764 962611268 468713894 419422326 889731768 827994038 337366810 387950561 803182985 577321569 983755005 172769359 557576605 676179725 401202741 969930582 219274124 942288238 539526968 799100508 678262041 606794610 616285704 508232490 978262174 908368082 240535295 946012569 566716383 397916299 428048213 352964785 826371760 375803112 846143258 882154965 577427970 360035143 762522022 415737443 564751855 344907221 853344754 704091036 433267159 415602084 244806653 379284902 578669734 760454420 986747180 184286895 579439636 743156203 985641867 156849120 209154669 176571825 471799584 727033504 936312547 752355906 854644535 602993232 735801984 857293843 701634585 747154518 152315163 802355829 549337604 126537013 101981216 697119224 871747195 584779027 468916405 432607913 329828551 329172728 143848121 383439039 906353155 224757267 758037147 717580016 923859036 514594144 353855865 539057155 270852826 198597904 715737961 616871703 166701045 486181969 975942484 378261172 263176611 730071105 629346192 206807113 506710024 830816986 150270045 132096622 592854494 506353744 694308496 405373152 457111938 314795478 535337714 777073230 202979018 799018227 291464763 242302642 967141944 385211249 741922185 155584829 920076539 751532226 935110832 267996086 205986414 833279852 477297162 562927465 666487206 100665384 550217954 922536013 698420586 871926562 483032542 659682590 872308261 761766521 889570471 349569828 922737196 622474017 185305198 388656384 225752685 334937196 302980293 385887068 791162803 520964875 692551684 850602917 521308447 169231972 976894150 417370001 872303857 733795756 474242966 147203438 470296070 233192478 321473655 126384555 267977100 672717609 939632781 100951156 753834097 686860431 223169638 551414713 470649013 922562408 223095344 997475966 775876118 516396656 924368378 766154694 326703440 156957941 574855461 517818968 440376135 368336959 900082289 873870079 269646111 359320289 201223681 814876250 365068221 102726188 704009753 113905750 762083403 250220615 102041602 249149190 488823408 567281791 903681571 608503239 981867705 820018802 573465819 268611051 217067867 196380663 941717749 913046065 639395135 848777943 444642440 569636838 432200622 351947192 931167775 212123438 745469244 742476373 993724556 991132752 828997252 517313443 858588598 133270778 431420544 293664665 984465818 483118698 286613266 887251878 186011839 648486262 634804365 502850544 585941487 945714664 478836852 723410523 389444394 426950677 814338772 700956241 248882091 941002632 367953699 610762696 710360076 169514387 339879475 560705523 157301697 512496638 276264251 849178068 652721700 647990072 719613583 457820008 448687374 142610695 527034668 250850325 127747824 100925956 734805923 658936003 124086871 369937750 885575832 673659076 369003906 523016263 455249282 333707347 636876780 411300295 418974619 315834832 609716759 303054416 350142590 750097991 307715301 117597191 495178422 192487678 112040806 820044526 881865421 923542226 642539751 715718238 991010447 681562821 929883186 113218065 735688524 516682443 282140018 739339289 598195497 369599148 625815675 411610277 925261323 835448696 600025509 447356160 140212442 268553313 385974391 582558745 805860037 865916863 401598737 829926355 312359854 486770221 392678436 897420718 331284239 579148022 191662972 725458268 780791268 384275060 606787889 108552220 175141014 976219756 758737931 828259162 851703975 575264859 645089883 104923053 125915441 112817774 204329659 491208651 341322795 154615748 798652257 423455840 279598435 904215423 703711546 704416169 496754244 801046964 867518520 672427979 735008816 142975911 427088861 282325087 255236852 612623347 293183621 282806426 265236350 395801598 440976505 437765907 594562722 873535329 406342670 630479546 256193236 576564131 239019590 830654050 442568990 657959973 424478320 648941986 884097872 326683397 682728962 876069954 862974275 806096230 555560745 503736339 179563729 436974785 787410869 355325185 839959119 784868439 173026423 997808404 733594026 310179189 606852316 660772863 268528549 327170605 503184117 798207050 522525500 468681154 561880315 141272930 350602090 998532404 572461091 533681945 380623215 384542517 755609564 924015552 844669187 904329658 387214641 971939089 719689450 612395950 907310218 921077389 812204261 280339334 242290790 252617634 891859281 213549132 336065479 268163772 342904750 939095889 595555214 769656147 902832653 257215800 390140623 348811872 296132552 477519685 495937896 276755179 888992348 920983728 381860268 894147242 939751849 793093582 226729853 574148975 816156315 192736549 677840042 517793347 105613778 318077310 360737654 241108854 827264683 368211196 502368600 526613702 311105269 465388559 333722836 359670633 189860486 546346028 719809487 858067989 532595645 539554354 797231933 322947480 617959673 252800232 666439750 130605044 918647891 991890269 847905048 869046464 112135843 840940455 265120351 940874614 405144544 630771187 286780426 399293109 771835566 749909488 225457023 837042579 182643309 376665466 722959803 897821248 585488915 199108580 462685283 212139288 764860739 731564713 748186566 396538593 497752866 879758775 558230422 203099946 345085458 851799404 152311200 253623293 533408072 987171503 141251647 549597902 583228641 502413463 986613629 181452692 526902379 731354128 591612673 922167803 255635020 723874226 144884832 207567077 288635861 511798569 701370059 433752308 364995708 250608604 366106021 233385492 141478357 968987196 340598248 828677191 323126123 488081432 224420773 574204326 593826054 801872823 458020276 986395819 136955952 597944776 797373827 641964933 434683811 457731242 488539959 584783842 699548420 658116783 493326761 871995765 158544022 487096406 574327647 850763415 955232940 164318342 493301791 422120400 557078358 310842649 103875452 818446097 439664861 819069067 512224365 257348348 791593552 575868007 788226869 162962380 469977270 718762682 197907949 927360978 834896750 369383233 134173668 546844490 741979477 589506644 691080674 865312849 955012708 523216107 218876282 231251164 581471220 369248802 687305722 372288750 537452694 186244813 696761726 781867545 409881564 319727190 594802980 108149475 818659178 374392675 799840584 441927111 407555194 944809215 901404242 682110568 429405340 782002092 709137192 488714693 950297969 942670295 603363102 626269703 162902825 723785714 944656787 585056626 136952308 271786911 557777064 834213812 718159106 745806291 226724998 890959607 948834217 310943507 350501582 564023302 714731568 155977411 822141689 602480320 607183601 257128900 325711694 216719838 872580004 396489727 117370685 798390286 189707213 993095911 109102223 976932442 549467697 943657445 684312911 291465346 701260091 629400762 255989333 108598878 447332187 351553382 173419170 752011093 966888088 412639556 647009885 313865376 145651542 456326180 840356041 847183312 300004638 566338088 684491095 169324778 656803567 218309880 515512811 190546923 503310535 278443466 634972785 348814620 721808819 170870054 496850998 539529436 301980635 149024914 610911628 298965831 472100033 861161253 534828153 930628577 456479089 445504459 178513924 155390163 384948515 870767745 169208058 610609851 414946931 460795396 525337357 786132643 695896209 801474355 419970971 513120462 720248171 384117459 135648654 324055173 811271571 871256425 333445886 718519736 904477324 189150903 837723265 996066353 977481210 856056485 923584621 139373798 428154046 937985833 395312283 285573160 189834958 497423524 393675309 657293510 199662343 640929484 506935504 681912343 567228573 760484534 432472895 862148909 146178556 355402754 635525480 807393878 628622794 460367944 457800058 274548579 934015469 200475069 349834616 972161548 560834617 901214928 103874360 925204044 559028605 267558976 371612814 297525301 453392291 659194446 820032960 720161122 345767247 496403186 681096980 670413547 163326446 535274170 780087646 700319580 121814382 500413620 203214297 481621690 687605100 339918038 810846476 780863690 586870840 182245782 199975681 812728387 494717449 155887934 546667633 148147188 280778606 836695800 935875096 920957384 688253080 717081949 651909385 771792061 263282350 454813179 750788367 281840887 469661723 235348007 619443815 997002027 269966231 928218842 280821086 829955354 549223299 102657312 681085414 487437390 824536224 390714178 222862069 254553807 441668787 492689656 679343962 879256400 763676358 974975415 161115666 158589907 142732238 688721520 264592800 347304675 985770560 374777969 361506879 765731828 370136977 187625596 237591921 478615460 981243026 574299276 715801027 626367302 467807240 617664281 764603994 625862715 568906095 105995692 389004011 878659388 822127698 645453587 641749217 810307151 375965148 925944202 621239762 516103194 572165617 175599267 451616854 107074673 668360964 303500416 924905847 137524059 792679326 225946347 175627210 939568495 391740811 222749116 299200408 591709325 562839459 577859856 134309942 392592189 787997149 836214316 529619195 695690676 521052767 814424299 176530968 544341527 331840828 739887213 755734107 344028828 851111562 892099766 504449372 236037411 627389424 577642944 969360157 509351430 943818191 781552706 275295324 648812091 683392443 382509425 681963862 676255241 597492461 851172181 668130860 911194589 838051371 500664818 264829339 189617841 875244802 606803082 661135095 229425726 106635015 483573601 891119088 818475755 378438567 342323479 918843705 686203377 580685078 354900801 277963628 938889530 786853090 602065221 498308625 422418996 355520589 813875871 862400297 308890506 117981931 280379063 795362629 798594236 448430845 582804189 894447136 760862486 262490555 475589253 832267031 339855173 252222741 771809786 938592323 787228698 845335523 134762717 558603628 260458089 906615531 567205208 646504846 170665930 245409429 731074578 897389172 720475524 794165439 108939246 816485189 995102408 486360740 958710112 715628987 569490784 596671593 804451510 676571965 760758603 121082530 202765147 280281722 772781702 938194922 679839906 746502804 548196077 818267677 868458245 334393461 556656977 773482214 853499168 427223476 346124000 685813277 944215645 964678235 702983483 404855937 878557774 682948832 672404937 258554437 316869240 461054295 685222197 131783314 379228286 724612109 186907834 568809554 379601651 803114907 966548993 231588152 893926761 766972493 134667023 792714484 728270631 394667359 994441461 169095563 938830403 730977416 797637915 773451408 414764443 156659167 229406985 104069180 594115339 330808441 453695423 648653558 111456737 933075755 494239225 994248208 964626639 571885410 430460363 715864485 606565345 297918543 938407148 981494824 338124147 378900446 602622153 745103594 286960711 462216912 780612357 823236305 277264635 995059585 210527578 943878116 269116801 550254649 975892090 828318007 218585616 858828295 285334435 919292721 287554455 778611236 972804316 608298736 554608235 837242667 323897598 500135472 242978884 912337070 481991060 638705186 618999375 270885093 326881730 912438475 477952421 766187832 112738644 104279867 754240707 923348548 948095609 356797568 688063173 448821289 956468976 667872907 438673781 535887445 338273964 907959466 409787241 452384438 545263202 543802128 497169752 212553647 269185811 565610928 581315711 679159017 627444014 832907076 318279705 338239090 929503835 203621328 455150736 144124826 701891517 524181855 816663931 657578629 494614491 748242339 373058943 693678719 125200891 326248765 288847074 493827759 764835275 833674032 769099434 399327984 905438706 348450421 114859870 354319756 727821341 245719693 819368954 193106212 467989242 480782657 943056465 586491331 860008671 437993321 494420858 706562220 289771880 754507063 252752686 335343178 316041419 375216584 630122928 481272679 996183770 491910250 912569701 154302896 497723810 617439758 952974896 652586434 602399591 383655689 479705385 764547945 791723070 197167858 495010701 721147579 472758295 836043760 869584300 889620025 832739087 357383735 492941590 796806308 159854461 470573557 376487996 695867410 819306131 691935050 428320455 572049092 408088529 560528740 818530494 695637077 305981312 158000381 349458999 310060947 148236148 770735144 897673508 719171732 197238618 507339404 216098380 747091227 622324953 398631686 591107605 194280942 774887786 484431631 439662546 610957829 111499121 656213707 651175109 913197525 729648401 865373061 536366638 943294995 128713168 260190775 924778840 828521249 922617592 464634041 233679336 543303439 914343352 229084556 703002585 700876217 685522515 484318546 608053966 650876284 327669367 638862765 975278008 953702683 864584071 283105352 884012385 718535721 928455612 300999873 501811135 163191780 761173852 297625631 172246590 604148393 725284008 198092301 955662906 215953462 210378156 823948232 582382020 144968052 724824554 808844627 138357923 165125746 268969814 886322573 153808345 117487131 807974491 981814027 140275684 392756302 739485117 253078875 616870325 290663651 812641157 560536789 249537769 462568050 834103718 280239230 878500986 655849586 604308799 778336721 423195373 704366892 221850425 461866482 987894128 373383173 564042618 717806427 373599816 620660993 396976377 433157070 141407958 790355454 741787329 716298565 727297544 664636451 829381114 168119631 917142694 714081668 519694440 426046524 717773666 609905621 713178180 494062365 656021909 365663617 233407616 964552990 565079059 574215350 350482629 171165208 892064598 367428965 732416967 134673166 901486387 975745181 898688847 482844496 955910265 796098837 378142963 990142354 356198303 283079721 327179891 140618002 656794920 742218088 278857620 185863426 679487092 808768900 572955021 571364578 395523935 894934509 914915030 656606282 533760389 252450377 758592417 674286129 214221744 830644814 152772157 195731402 468785227 141923351 152694570 786893891 434678123 660316175 364463626 474591468 405666407 133679348 445572540 744527614 426094691 554944415 324223843 320631524 867535281 176611602 484261859 669697760 920202845 283898847 775137057 417161388 313221110 367036402 892707902 979966296 184288422 578303976 710687403 543691163 411888511 917498406 364274304 463476125 938418186 226567325 510387493 220430296 996029503 124655002 267438313 657763147 388621633 521990838 302176156 163973740 805735904 126713575 331445908 201441208 698278420 783570168 289482980 349972778 589004000 653569389 918887163 161874867 511826934 322247251 803484503 728352225 269417811 385431930 362157034 224775555 462283965 563206162 360235894 656891486 981873451 694337334 607991846 753741824 101926646 622466912 975193281 171799514 903659399 224479703 547673397 320482877 736429149 843307063 306646489 846928233 112676641 548950608 647021653 308309081 744766637 524192897 604161515 793050870 734417241 212367259 951811697 653995424 226219346 909524626 498727807 943467682 867699084 209609835 766291117 996109156 198431366 114834289 993233846 230546593 553574545 249173834 185260935 827327127 789580494 216708289 728371060 300087970 448971780 717033050 403762338 472536123 692328740 736002156 516615955 662883068 239417041 502715822 983108817 906021442 686510535 253492594 769567165 644483657 686268818 333857944 603308531 658575318 823563311 489755008 897093268 906008417 867503320 975353802 981996908 794557742 795426996 788339487 816155286 923215333 938349738 453463677 544756837 663576501 660070271 214207403 155502315 160244422 188944789 572067768 879174916 149924458 424228215 718989327 850512202 560328319 748389301 903279222 157007355 168111256 350404399 587359447 515023580 106630921 970336315 962246069 499697197 540125406 896663647 832709888 256745855 700147938 819324627 697057439 928024453 260868061 811967478 397507485 618831586 619042614 412391869 393213751 616874083 588175496 923729238 669155766 914225290 227539787 746770971 901866016 548707693 574385919 791415372 525280473 307554551 641956466 250783163 768032027 250569687 468734583 951447510 515808057 557951742 947837222 873927792 108650256 321886840 249240667 444241562 888721926 393441211 589346210 182529626 177243283 334705824 257362219 225520417 376150174 439020129 284639619 100428592 402414619 981862240 290207837 937943079 526014245 804824070 661959641 616881317 996583286 554797749 910251423 209508994 747144538 706726792 861266275 832657702 248347142 832599767 857640704 216796939 273373666 226868370 793859627 795917071 562205878 353997197 841922363 164049657 283789878 437514486 260949910 212797547 696939785 299198234 840105298 454469091 613932384 113415783 789501923 418329606 672312026 963773394 757160998 270285537 297488779 520892086 364046281 223396707 593533782 108453623 696383940 719736068 345457747 870703929 141911120 828270001 606652502 324407303 612888317 514334478 484340461 198399362 248563297 596352938 881875201 776111106 580188193 356477301 594593885 623421176 433678224 405450332 334478864 414227445 175910314 488502893 550983845 996327394 421935544 993038454 373862144 448000592 210628759 450441490 587619111 332783771 920330988 476463776 759268945 402856900 422969613 914305620 449337234 401894963 960237570 235409179 464804359 496357868 333908257 834594008 126144845 849026269 850987892 127839191 239961264 620440714 433097570 919112050 482549610 960971723 606255859 545136662 414874492 284750549 767651343 972402932 948495558 593378354 377692197 585984380 799712512 972666795 170111652 540429260 290450581 589437925 592026490 484749842 254765793 661751453 992992643 492121789 386663607 448393629 400899154 565885628 141360204 900832943 849454515 427553831 690592871 813151912 850050895 990625729 517180303 600081543 960296576 396982643 642300148 831394781 368270193 592204955 955540615 423690014 322469669 596024217 295412200 278787888 948977307 703334056 832130980 595395331 663995807 151326950 452494549 273488764 589965772 436356819 435412376 500819121 301975234 937350832 777165057 637976539 325398134 595185520 617456604 171504180 953165844 901055618 710993972 254561406 757140594 357076560 109298401 753974389 761387737 390714318 546994757 478604837 803554583 573506072 529193550 253279201 376643481 608826032 693134455 236880526 158413460 782032353 527578109 467070497 906614868 443924833 282950529 389855826 585671684 951617335 365346696 950271083 866286505 897606450 278923575 190328892 535943593 524399769 699622995 307255367 539323497 994996541 921708314 211342889 225167866 580821783 284599665 874010552 206324078 362829822 797238371 756185399 317322468 492835224 750606721 623075665 328582441 316822300 369801984 664704235 585116741 730340051 878701547 528669037 284546189 775079775 324332914 554836586 237598188 692570110 258876766 318809912 494909103 800388268 453769589 134439748 869617496 492547716 628144219 867624490 820039307 298698684 824866618 621970967 305267664 244690531 781829215 598833425 398689163 214258025 932045099 166536517 252034882 625776817 906007131 506360483 965700104 864845783 513421053 441059056 553269138 263614395 938312059 388627172 266684644 977825583 396945411 576352389 931507613 704536782 575534932 487724324 252398644 697635123 781539548 662403095 898813044 588082544 899707106 459118646 838013148 981133651 827861128 673911372 574332132 742529051 449151380 477457097 606412303 141392049 219149345 345986274 410649667 112482847 677103269 158661184 895815472 179274754 317615160 388768483 527079881 273984004 516319909 658274881 821678473 292769093 917026116 185536967 879289284 157820205 359660887 154131687 377002223 820941953 622788653 577434310 956403568 869681192 237119500 454221917 749913593 477445443 719621282 199004390 485069994 662773500 396112753 494487572 345584568 444600884 292292072 315969696 786538763 757439402 525651221 367497934 789615356 530555342 432349406 785051655 110991668 860867971 494810172 239977032 688624687 171653678 484253193 935310168 479445783 297143522 177377777 836290298 721397665 338305525 530884732 528234520 861157387 832440163 599873691 481960850 166880065 634578199 496379210 603650086 637334125 254355375 263480434 494216624 811114746 404350195 596328355 813186302 652625274 661674001 774703185 188602150 955521005 790064936 602183613 878371526 745621051 934624555 762142833 820476459 991487678 604769348 261120478 847127317 736955749 673462146 730820546 228275725 714655753 610217477 842778164 635705465 417343591 872263981 941754046 494439998 204137114 412777038 928245459 275583552 930442749 337803896 406882624 759528432 625663092 196285215 195984828 283007542 734063311 438765501 721344825 965687964 473648922 165984958 732930146 285822714 618536453 703180329 637146034 767487261 497871574 816175482 959853364 486444822 502346458 621477127 972833038 990100778 737811594 348313502 558579810 426734255 206251860 499017949 751047010 866297541 745003275 149499263 141389479 825416392 999299065 511156103 637005890 647300420 313644669 726829180 656175677 992116391 872166819 575365692 156501610 264326689 750587702 292656324 867547942 479134534 985179641 836072540 794802625 949404631 693359755 177689140 832155038 295842863 564548330 862686317 906621487 496628081 144155554 259980659 257549717 550703953 772996633 787961950 335738787 757372971 541959224 456946635 798316155 562093268 795658759 836790991 522636200 890251562 713348472 916935218 857348892 930799397 753888079 413960395 867985324 220136089 223592388 794517417 980140324 472932958 869255405 173215673 757941151 337874040 657049511 365203092 873900631 635622264 378310898 135562621 101223977 750060648 722964682 508641834 812679126 352262474 971739818 876167604 438582381 491583709 855806101 472243640 489736321 317002099 368225661 676229597 133578312 152746664 358723399 979113654 562356942 197106006 797353631 913142230 100603622 425798318 518125870 591454786 690885934 979001610 192850795 540905240 371713542 927934296 758496789 264715645 761502206 423809062 346712720 138077852 102322882 264833155 517770893 641621036 713584559 813512910 680821812 288984931 499275352 725397211 680615311 923585796 389678422 523718605 596069316 762470665 269553393 104910738 561962646 772212303 825864836 825330375 868029332 277772090 715278453 961026822 376557132 768002190 805045793 638805117 604782969 294420361 514102655 732146979 771415019 198133368 831935257 584351336 924097235 930480572 113074329 565144685 722834215 830810963 447686155 906782803 548978749 948172077 348058082 617575295 364662017 944257693 593619159 280799561 291681674 538598392 218449632 354502183 400386280 924637161 256831774 732756376 562642241 612599118 616367782 441070536 428950495 792489557 779512808 261860741 902059975 200514129 393844159 887356406 778544848 268619397 854747407 638602119 515820340 179839268 727513564 696922105 771017694 448199652 120861400 117854879 336885188 364208914 438579872 506483410 863155234 438976838 415772429 227535475 849554931 395946849 670155057 477226138 142439606 147943335 880710221 519202992 778701060 131374639 562492975 123454043 417243060 617995036 391152528 919451426 841238197 129829849 836201657 752025016 509912527 866853198 269381201 333503782 621446176 398620591 356807033 290093485 316197172 971976290 193491076 333299097 744204065 812755477 307374502 154735087 668456703 936264880 471672685 170214508 312053084 395335255 461267054 251841853 829127037 321401025 665257534 408381448 830172625 831314871 191784348 678289362 252507857 843990298 196673512 681785615 407872729 727641995 568022620 795359514 480829229 991179076 790642287 345973690 384247871 141382806 168417183 721962285 202401345 699008773 465317007 883409765 754652115 254283506 589225481 703518981 799944076 938390688 286435792 723543788 732265888 722744075 966814974 176378639 513269224 299834197 122899546 224291426 763687192 989484637 382682162 348860250 193115243 260117434 662216007 729391185 640772327 370988088 885182359 947631794 502449540 981223106 431152652 586421154 810382137 256422346 277724599 199564932 799929957 655151265 348696410 208919281 170334310 936654842 376112001 465634114 420975654 605618736 969006420 256875178 643923199 633143875 474511266 199821576 167654314 756104878 465562884 847277437 911547050 394687598 609246617 668457135 679298745 819766677 477677497 895926346 126074103 843637892 321586194 299867552 141601371 708716072 689640867 435369250 590271307 961890588 734582477 503450395 460079098 333208568 349677374 565932497 638995046 718917375 818370689 825392140 293119530 905002820 963681862 679890671 731532534 216049143 310814881 506655661 672823868 572811110 698172472 822913873 390612896 512145780 598495917 728165399 688853557 202743508 890005252 598385839 848432097 866158770 324814373 178115313 841264825 776953708 774221612 277620398 935960819 581469311 898426950 717564553 515827958 673500225 886065440 772632585 318840806 777648157 306163315 588485663 876325005 435976623 434069545 133532968 963666701 157465556 841159373 967594624 547326660 430903490 501218081 446307666 808033663 867588475 537002766 662311384 872280879 186587606 169792824 261808104 921025328 121386484 908410759 359734683 822082609 586304931 773773470 739168045 625953231 174074808 932529844 377307763 476375086 562594449 407549598 594692895 304740307 592804508 744257442 592442936 255273897 904722727 701504898 862523133 476561783 849878029 554439455 871452968 451428451 689153760 251633880 622007332 174829644 986893459 272607563 972158623 141147022 292533531 486498008 652675550 241489849 829237796 332917708 298257801 715804758 133722503 471768501 516361328 411942467 954119783 883997090 260941969 946763528 664904882 460675896 626260016 505302341 379595850 348072700 325351785 599188111 899772095 502480883 970229922 344031546 524698116 718574752 128047409 193838175 913924667 966565385 765966416 993755122 400231254 273248511 798095786 697118507 364789582 918640856 911059253 944005645 446797120 382804164 467124646 923618732 830132415 951662374 943635964 475872883 544213423 803461070 728209439 333103863 207510894 358354872 583967355 182715158 231438482 467487054 246696068 315703960 308474390 887465287 483806954 308315956 337162740 710066792 274938918 700911398 102398587 811213421 385006542 625026962 386390817 247802486 992208184 797663024 937103094 161801296 264633611 164973861 749247875 786661451 715212238 940496778 305180952 568561275 494245153 352588253 124731174 945258680 479731473 631505868 336125276 726438348 482211940 629776930 738073462 411622712 236907990 292416551 877467659 301541708 792611571 469941269 452236533 661119081 435118063 154872908 698571528 666388272 661069471 287482543 498136009 599477793 811567154 354551601 935250600 942699849 488345666 927261584 468628957 379500820 441049741 739714191 696789342 521868089 289729134 974298174 799149733 284866070 274122929 752265488 355913302 906877885 137654780 622589696 741388020 643177413 364220439 805410519 662790282 254334008 893546733 751865073 226606702 222840599 660867177 310352872 489416176 123107225 774600285 491620450 284581463 209818066 712890160 982684227 145261179 749376688 388081822 104075360 142578302 762403094 988632841 695478704 734054036 426344810 658800273 731591865 552875065 621669224 597923283 185382915 415742721 309405019 634790593 442052148 839538743 187602685 722587071 924380227 180883157 507429544 140122624 372093302 405609101 551438301 764083144 286583338 344787899 840856611 222169685 539623358 127499719 255102890 961827735 277788712 253992500 236528545 775347519 139190420 847022344 712323575 110189198 295606748 694464020 339432894 310611790 612386523 915441752 986896695 284048547 211108563 609433906 540846435 724563089 424755332 874820672 387334511 411556014 244387095 951337114 121784614 863104695 194244456 616645424 543261220 352171468 134412050 264516383 722524276 608043971 608276057 627805995 364195045 498416126 726252909 126880659 323805938 329477197 293559158 773205503 211629839 857189799 944650708 253490220 340168170 889808834 464870844 346882506 335307997 670778061 561565270 261308448 581029356 299561049 910749329 158674256 226928756 868372417 731738751 138858202 280839726 314322462 275177364 366117785 982318457 633141468 351419881 917967031 783765840 517238087 403381081 404498902 881869184 791733224 453225892 218880409 102737173 272082962 704597700 594323312 173060951 454074676 515116995 576496414 840362493 357894372 482406522 690387910 249648796 827680467 506830595 415016510 392703603 831622340 502298285 137930380 732663346 537091274 317723707 469803504 488811918 368034125 735343225 323420327 751314404 487025652 501382150 701431825 776268438 462059315 221211965 100040956 661088357 705946855 731354375 716124066 999030697 536031515 822936158 614860452 473921630 245258880 740443971 164291653 453335108 938239296 273924149 223501024 302018502 719060010 178029938 832154672 299079724 941038152 356568345 964017053 771257009 646670305 335617602 212530608 224734842 967475971 632518494 518662333 704603547 607620597 944211406 386012862 925398438 644546310 972011898 564495176 601488935 436672602 613627101 987415670 699132279 609366948 441071913 449089626 358755127 825041685 326163706 303876480 671395895 282266989 145971723 150892146 474096544 787711986 213898085 441686799 660977771 569566389 860769100 370629538 653123292 503027221 424557234 504611378 870498014 876604063 464428912 561678316 187956745 507709016 273332510 915661980 495854110 286909020 246389367 639620873 558454638 853081845 963215613 608630582 279525064 287676658 724410178 609920657 679939163 207612658 646971963 536350807 257160566 128312269 478979953 989187847 771355703 952953624 806352599 448204180 604240491 807573074 354633623 281109662 458396541 469586694 236686319 350789760 720442455 973127564 488409984 952615091 236070644 407163224 634153157 950647691 983416365 288442172 155236123 478713925 499518429 644589448 230642262 294325370 684412706 457148797 915937147 776865242 729069313 163023440 334569398 370982618 181293664 221154654 640525231 606149795 236716945 131530667 197311270 162600835 686433955 508142877 833632194 959566712 320419610 679483800 706946559 477998834 885881860 916807267 329080154 215434404 711323872 906706225 616174684 693604344 358861625 743243566 789793654 786586284 608412493 631988876 215308122 827467837 628068977 146978128 659690561 423724647 126385245 901232452 461793121 302617430 373454006 247380529 538511704 815929820 231447590 276424380 253748332 687582725 530936229 290637963 806667611 236801199 535051772 871647563 646776715 375822309 166206192 419923631 665303335 910725578 919394968 418072173 323904636 577510874 252790793 241785863 214784984 691563874 289776785 905343380 415669949 124048093 928191382 295256807 277464636 278551307 323392630 307061929 898620300 732588331 746480146 608642829 232317521 220669625 247094025 884788340 463683489 857541912 656595723 336599915 790172416 319959122 802900761 845039546 928260053 495419413 170089966 691350426 608449547 453585649 272710962 639158646 257144022 335000889 208264086 618204097 513707024 386448068 283952855 210240219 734767850 418143059 573285101 343512055 271654405 376987509 165678361 201706537 275210843 986960543 447870062 619504827 946911386 446082511 634202932 498766340 707739170 121177477 105214675 721129630 291299895 333501142 527615092 646023243 957312164 910761584 154100793 604068252 824880273 882169799 106542054 945084014 144725723 663131546 161556680 488290527 165440936 307358565 539192815 605181126 730267238 276431576 670416285 467605933 844142005 800382042 767762717 912354401 363779898 633894332 727586340 453992373 952929435 144063536 712824815 216240027 324899600 829531025 909921350 309914056 186710590 626702082 225512462 392080438 643581542 441487621 356104907 313839052 466940348 103916758 737461723 428677088 792090119 695325223 432425302 247092638 844865048 846736907 508646653 376315461 577573470 899892823 407715235 581338261 915641529 914698907 539431597 225765097 671495604 497046941 473586018 273373690 238968169 137030384 145770982 819909528 549937573 370002369 413864080 657469952 897650459 474763784 825044125 744349616 650063287 917997304 423760653 271742841 835258795 398235444 324751787 886835534 150421223 467868507 528247882 545637579 375951291 617055924 626768657 657624375 844843900 746742962 413269508 127977746 660164278 670120657 840772161 469149281 702768157 870195819 594822062 712982224 742403554 708340700 187389319 996567118 293103862 479043452 842710687 312956629 999865173 669043430 979064196 846242281 425836453 155382933 653325766 604938815 460988492 301222253 810099870 217723629 549609658 711665642 386288238 850458898 532784201 267794225 150735600 721007559 652539737 915791272 271475543 901821321 506302967 614789264 121888419 612002467 412616786 522470446 715027541 377745259 515579220 155096478 804654377 384204498 708190971 195175580 838807003 216611195 687851979 240956199 934887456 286111914 299221346 659036716 476730927 113689550 998956563 398069042 352022072 433731917 443188727 750018851 598004486 695688256 183456866 174776542 372238593 706413088 440902741 849163189 755182046 206421230 515190419 677005983 685406130 370543105 777783391 384427322 879216030 769655102 505363355 962215368 635387706 802944741 503265485 439384270 170094547 351461326 195839419 862904259 671175287 720680686 680733027 332264106 678639989 534994604 975133063 696403267 744308761 213759963 222391871 975395222 342763353 142800047 125563473 149583029 640727967 395343224 483972749 106258231 126828128 452143921 294409308 782153046 338634686 251146322 509711986 288907886 538586977 361821862 102803554 100283378 204697153 276218491 398250400 901214322 762451165 507280297 620509311 241519930 967945570 351478865 317548973 977918021 106242359 399693192 247480326 679754735 993838883 253148311 768732818 978641642 428104809 972742813 840717259 977559138 431767980 802837311 678313842 234041670 258025470 750099438 569408177 497817266 875728908 593744232 611670055 554358397 272931239 518373402 314478731 636891863 491982028 229441102 664768035 389324489 728741861 803220102 381001003 345749315 900294253 646656397 299321157 218541295 260353635 139319045 802723249 935922805 903246216 559357689 683673860 134906798 252428750 979158174 330808573 505341606 193361803 629570082 360313714 241401468 853183571 823512677 520924293 501341059 306884871 331525426 390512690 828067564 885779361 677229425 239431521 379941727 272457122 195351513 517822701 622546199 605293927 672773025 736199203 519566932 543125571 334126028 109224080 774327516 105057048 131827255 616005241 849622981 223313302 370550313 705703384 570130894 865239446 220639040 950988797 984729825 747074099 788900934 126642621 266182981 250211506 744971644 315772130 218945549 448357831 290352756 224594784 902767735 681786942 676309453 173765623 248109578 461764781 527963399 784795241 898251832 873633667 655297704 786835686 789595686 467717998 554567287 360933937 487010938 245381563 655528858 920540678 870387946 886128606 400003907 571706814 816391197 809020335 796897676 165663245 261644482 837498697 173198857 916542756 351173828 865244342 388803788 804950708 414172710 224229544 479755523 486355133 362504995 261051286 817415820 848601246 581466947 471858495 329574755 992135907 507109232 991395571 682888311 144744665 293139779 108460574 968896524 264078653 930842126 747777466 787271356 926161625 122415581 687335954 886867098 611652403 714644673 927669277 390926379 578211564 717750133 817844709 139022170 825906004 384001845 461139186 240942480 152205907 535533134 301678138 729992029 112170216 242740355 920648064 790891281 782707657 536626657 313760797 775642853 125396539 750887752 966227803 266290187 814986984 464723445 492276094 649076278 171818032 798465491 691567577 951852210 356932849 445484708 349368874 384104868 733846600 198391425 306583693 563299902 674936272 494426877 346205420 246162100 892228454 603545447 355758726 304159405 794065898 815378778 367439167 838728037 418251450 448565727 823971948 791446549 823308907 221769509 338879264 453704775 437789716 222354496 447103483 812599164 882289381 598900507 246672471 264467984 732945710 195444971 965848207 483750357 836972275 731397502 850875397 190231500 232220787 859638512 424142566 917916490 565456245 679071678 371320941 969887268 568671002 966279122 528231332 721288131 905277447 459556257 401658846 897973417 239558271 251496883 730448154 734639130 143239834 383673384 626819171 230476378 483474402 434338522 587164013 445551971 779789462 231312674 730468400 236237900 801092590 697871551 867742527 763461411 389135539 643822147 404371212 182268244 117948577 323355834 431759085 279860749 629023837 439799035 465776339 283890961 211997395 906452677 663443912 123148540 818809633 108016282 820252493 537014208 384343961 197691834 504035825 885415625 866845348 597424856 390365193 961929480 256436379 629970475 431303746 646152678 924752892 724739593 503107191 647637827 822718357 369723409 312495963 717894849 376982741 128733531 544174325 548890295 428133998 955408962 757465690 844597496 306997245 946436860 692757105 384431066 215860441 894884221 723800741 415311357 762707932 532023545 563922988 751622724 987463469 285231755 860139395 695334316 904711991 840479020 434896607 515336150 783899095 379271676 697891951 179625996 351947993 379332701 233643586 803328600 860434114 157836790 152735887 365547319 267882799 300516155 769196539 478767766 933551700 658256495 637340767 507226282 677933361 530381804 700402999 595005608 919966671 237963445 510813964 663261320 351375236 740410286 886856029 710570671 919981596 928718541 783998136 868188368 907618525 774339631 426851301 790593566 411418210 707896222 839284787 211327078 233883448 876938609 826103967 249495156 372938473 324394614 798025255 119162304 580768388 122626728 740329940 632634741 315854299 538686258 352838740 785440351 519655870 760224400 258930690 745682542 532825461 246404481 422657987 536495719 319774546 327789576 377370509 711406791 216034494 433901922 827187895 925688213 144697926 362265791 321178856 834876020 139808606 315582897 217805195 173237317 714109972 943348153 652643599 567558489 585046946 768218033 235163783 224123337 128871337 207361211 878405249 441226530 322033966 838076740 716161923 693722271 416097249 518326809 688822958 313776850 759454291 283990717 271832835 580356517 333600924 713409527 726965141 934206618 485240764 373792438 873320048 333257179 330469918 493949356 502271106 313092310 361050495 933995255 975807140 165877985 382549555 678587602 992157887 158992236 381772783 718961667 970312690 566713659 756961500 441978955 734542133 954532506 479095943 110040183 373249880 860199718 836775215 630404768 294096937 424200564 914008645 154954261 554696806 468544515 474431755 360304668 766798278 850185147 115507925 788579157 502080198 107720731 461123677 869009331 900198839 548274988 510461546 135341935 429790494 312703082 330375988 364778953 440957159 253221081 977736883 663850506 815651240 920451525 660201425 892249160 143091032 954668015 799938420 963297135 368902314 334919388 269566476 990657187 588118032 881053194 864040634 353795807 461073979 340692190 352530006 350213278 175842554 270733006 245576055 453612698 977338491 822885286 612295685 502703790 322703357 896657873 739909429 225631207 545527689 759535585 793296635 670386475 589609117 144696647 608308010 970058030 649483219 908681244 650867107 664052363 844533581 877583945 810647090 488089401 797867971 339542919 197707025 259076396 114693748 575751478 892367610 806196616 824559760 810794892 640982265 528553186 601683999 876523831 844563959 585811127 905706266 577015776 358328341 394016195 570376169 695806665 672799585 503628631 682704142 161830639 795478923 952688707 467105837 269095848 365887773 592909197 887771262 914488599 148635047 458055315 267262666 563283207 142741361 833404281 667288321 229077143 756360003 509248974 961962301 196669485 169919396 804170286 861118951 413846226 294583040 932931804 418043544 482273339 496565449 884189642 357621364 150684755 902429247 727581179 732336328 361272341 288251967 588127375 367612989 491556610 572371016 837990346 599219112 336327332 624932206 335108186 698894632 921335233 393027130 944112603 749418571 459559821 295612071 632737258 649959346 924693493 777234536 656595101 442539211 987965655 586541187 806070067 816658311 675973564 376439269 648453125 811088534 933260686 327156836 972305868 830376825 140003395 467301956 838061362 149520656 993239992 299874620 854865673 352836664 303322678 169212586 764181030 268904731 381642768 447081637 647379817 895456298 336837524 225850338 671330717 862116365 502904123 227069809 154905717 758384003 619881063 976255037 733721813 185231795 722856939 193307916 109005361 127021400 158419980 789588809 305575617 969809595 137196864 664758446 955653371 222200667 890730176 435972899 311194791 108338771 778691010 733020962 109860902 109358509 640623818 351976330 296776743 548272139 994502665 927312182 544731537 538487687 641819307 827552460 992652888 954399618 506927276 607179796 277712947 180519398 333171312 321747817 438808977 796813557 733202810 549049329 396956590 604153609 649355999 447919457 611301461 443170168 333121575 388936315 333555164 509943431 582490282 800217097 165472602 738244779 608056062 670057020 648658847 968627650 934120573 498011230 992968230 686659981 204822437 799223456 359424885 440382751 755523759 336324166 540935303 225868362 618380131 830011282 524498821 644298080 719062702 713617947 890098402 259748109 549446176 814247856 122996412 627780065 270589574 782202373 179206280 220543426 388380986 938274254 263508897 401581481 415810532 929946406 979104835 212553205 801061570 151734847 988677320 468783664 480433844 702456858 693135992 469046228 374425747 853541264 206243728 898600538 954231502 732189733 983566041 312491682 580126564 974762431 770239303 339284875 457678488 429356797 638394176 835101677 421767681 161924173 825319932 224236466 647213037 110000214 703391155 458663284 319276648 721947588 689528193 816036379 148359062 583678238 125206882 353393271 463888720 263309967 196512219 399401584 215521874 604552693 101957799 739094047 172162010 700238618 556001852 420533488 757254602 608215431 994975023 247539392 828527805 361609768 182189419 961767605 511379673 239757112 320622342 681989472 197977934 640087060 525309770 954390264 112647796 856822481 783984484 710877990 813518574 959103556 791012206 902650342 328178584 489050365 110841904 402621917 913424903 833356471 470885889 581165999 308969853 689117365 439150381 378786279 956520384 294560146 271376180 945015571 639486195 196894706 154914430 539949145 275012699 885966169 708621282 351133882 394300903 200585428 376411657 315787371 848165136 275664794 823906437 135685252 522261635 630069098 146565580 320615311 818783657 282714412 321103390 404303106 840887297 137083920 629393209 195267549 922125381 499485432 380874649 157304091 711289856 465841910 738470897 128579534 675674290 138192252 732430512 510973609 485301157 973345675 984183438 227756974 909804704 566170895 834809041 882075107 150619569 496667719 331799587 245968804 875712078 325678869 669101534 944773568 466714943 932840203 892385121 265969235 321245461 499544003 490938631 338670878 333230605 596274840 850895620 918137351 903019292 899986862 615367462 505323220 848364438 506685057 954008451 861364139 643767836 594271421 799979256 280552646 569829976 481347827 151843813 975927869 115663552 373025987 818055128 255833565 309657582 393163316 538276234 666618909 950498129 854885119 366578055 517514825 883079735 295791499 558785158 927632552 955823444 374005107 649924919 670868023 343908193 661975841 847932594 736468970 968918324 166036482 977285770 588522207 955418284 795245817 884543707 378237080 822450597 985309993 436845158 899038968 858563226 676356899 288163657 759259516 874403009 510283790 414252917 625341247 376773101 301504943 557696742 826024720 453723495 169504502 718237468 965642016 710021186 782813814 131699087 538944691 474772121 619993786 774530778 169026543 444115981 923886987 497076101 412579557 321471683 240259422 115557524 134910013 137141367 507704107 649017599 347582910 674115211 289469611 442549761 290802432 834393164 216631939 160587732 517548489 221523552 237252040 215091089 667143122 425109820 534129661 243623603 829931232 818741229 518088937 607234256 364669282 486209736 249918789 555008577 469921931 663653491 589856055 425762605 706437471 873306198 852745048 169876219 476983919 287071388 170302854 563066932 607524487 659445309 322697200 520855341 610335983 977107126 589512971 187762647 352847658 550638070 819321039 575643416 679401183 322526381 479814304 304187822 627221113 792106086 965050459 815532482 515609148 880174999 836970825 577493894 516228579 170673048 312461451 707432551 889167645 184816285 297332769 234889866 303333745 208670035 349072811 761763992 262683132 527710250 294624152 697389795 520457256 614730366 827949469 418508884 910714408 800759748 865858418 165965255 987335250 535456537 266420159 569894519 608229207 342825579 994820443 901659249 525837579 421716093 746576415 118660865 809859926 876970944 935263465 729699003 517422796 327504803 179046690 699933926 284523389 830391796 457070556 442132946 237391354 537058881 982342429 714160879 308948396 565883645 786245572 551548073 295322104 965596367 706518095 871132496 629089732 754307463 214756121 152762800 948081834 803702101 161428175 305169699 892423996 729769809 324528387 993720881 415696995 835443239 725120957 715855970 708929645 259590237 681413473 744911287 848967849 341916439 122797403 494741859 752732432 147930370 123143823 844523782 107963732 844795608 303548714 682642685 289061067 712523465 399600086 145949763 509519378 643000940 749471049 481668250 846381003 825837627 195597599 980738435 661705227 424267166 284681247 773073659 719577218 378008785 570219662 535477349 536857936 640464446 304682611 518672619 139577428 193542494 579715154 750225771 409883898 941670090 488599301 457966170 703097321 140414889 603893084 719816078 288508313 484653244 120963679 297910371 151933484 733502532 658301321 941107005 269593063 470947043 754076852 384491018 900114081 453495660 518634703 872278914 253256039 821297276 285120951 998018554 766135828 519878580 600922620 635942291 215488080 857263937 464051078 921830656 533034657 359488952 181733614 911813528 304848752 189254844 641191785 126565573 200829491 201075668 759153395 503988644 384372707 627709936 588219674 606319091 801957580 847305550 427759671 102401902 698262918 420346595 620063304 306703212 426887995 757824786 101146615 679209158 636875104 651311884 962814066 909603080 328784731 498422779 522326458 991212530 169010695 240507910 264434600 110299131 655553705 213344343 546237518 103974775 930946508 278332972 542859766 294290866 961467561 810400155 415525170 230350678 258362073 995145069 787503483 393125838 607499390 369845906 475652833 930527252 585328251 435847333 390814333 120512853 516177459 572349770 489236396 637261774 355951614 532389372 702209603 747741725 713775706 691710083 263760515 489309775 832781842 133692914 731529266 247308149 600317021 298973523 445991861 194291619 939611551 284593202 990310480 377106943 777271694 499809066 309557597 944179414 140052618 401814071 712594958 247765293 390006061 488010282 621533494 768221364 853141776 302691326 414599596 426574483 128382496 936686728 666916264 612458930 583819984 903507145 456173126 725950357 971381591 118325180 750639316 507292190 363480983 951923729 761590776 548987118 723310035 710561338 457996503 679729709 127157708 775821346 800737346 729387178 421274432 329972063 735340693 581538985 630551668 652763393 299454001 804537979 673129325 260235590 161428564 127064055 560117427 778364501 284251312 280673862 838907288 737559731 260421059 599061790 931442212 558740858 871827060 530517915 340973268 935332825 567810191 478960434 514384056 535587097 372714495 247794524 961510164 586360660 914187440 857370099 282818894 463577313 882890214 242445215 826994347 839531525 981185258 880467674 930159686 983613613 106533932 907550598 486416524 635937160 494479486 585108887 810713476 637077842 420245480 361517560 974975267 489325002 208865799 191808687 857135054 560457769 749175177 262785501 466634563 568407450 513688621 521163132 868213624 731393160 317457242 345655182 388299816 896493823 265764574 360690946 372737886 838885231 933131711 608565013 696149626 948494930 777829012 962361761 500429422 806075582 139299335 291406982 669224126 751758958 797366759 976887523 759454512 508446606 478354092 183943817 397822363 929944790 123503821 401436412 736909914 860938578 536959216 187846148 941967765 230695216 278026146 774585959 274819472 386090778 443980208 882331732 663106617 429774595 716552257 617484236 394876780 403329631 583658646 110056833 108649697 111966453 123621434 208494253 825916920 379196563 767291158 717249853 507388259 883922186 913203136 466473572 352098517 647195104 220493130 828805575 911247834 241532127 479636503 913043127 548222234 966697830 579011876 931211413 211341716 511986490 685636340 915462871 822921438 748487200 793606451 968793540 425228308 665333731 394757515 216667037 104752365 852658290 506214225 232002451 932613061 711763960 785264074 484378675 284509145 132899553 758163495 630039353 415733268 356827191 749862647 696192717 175633397 312122024 678225451 978394509 412688427 289593414 178556632 519612125 493446333 837741175 971684765 391841716 548772645 145120178 556255401 839460125 604058942 635330898 439670636 891982527 268909784 940726830 671713361 547705360 954103003 190779224 813917515 178796977 835432352 956202067 209567897 576218892 242354350 468397259 871830573 270433308 697572440 758447553 637752403 715041108 747920435 309804809 745641986 754690869 995103836 507887825 537040268 520837418 222584053 406350341 114970422 742478255 721010454 460291124 144484480 109174138 403638489 955440860 290910350 436254727 331177761 694996654 110912283 549987299 710237794 939172885 163333373 993499973 921830236 200823053 729823005 437521604 341891327 367470650 200133877 603325032 964890226 174659188 912102850 313723698 878280438 814506160 835465216 942651237 170650593 858807802 745808542 390000863 481451128 598195453 181520356 670403694 300211974 665248547 734560834 799465760 802137237 844509794 860768487 242169517 435636306 687323132 450391087 881130463 397204777 733170406 844354281 533315706 974081978 509734671 261863908 606891877 993344201 714990673 745046135 419987756 769641714 716206029 150478300 970624419 122429661 342746016 473424906 895370103 883399850 619262849 886040682 250095128 761095420 866255299 611735739 174459613 741835732 697967338 533424679 636357319 918698856 819757892 854527745 736592722 506629747 598281931 956926700 704053238 696881053 778858828 847296795 170467842 727337238 682525878 259430666 935888161 945068382 344596208 941079856 298068075 381655443 169273905 245654135 650368583 527859744 907942289 370686847 369821925 279188427 915934605 231663088 590059246 744145314 788347094 548950638 696084192 686383511 864311875 526780625 220099548 835834135 284410957 330701767 916569335 239382841 700095928 984896088 428537808 363088369 909115782 320396559 120536139 579455266 595190762 734567469 542922928 977185347 629372452 809901637 198454309 309373443 578497360 751928253 953054167 610167719 428057466 169642379 225453823 506925890 299044010 820870055 418729066 398229972 898734562 108756142 296922632 575908616 244459319 538499451 938594188 496484881 439927233 824281815 980454216 423658453 198515624 321707808 732949404 643022584 525066881 519348668 838581586 949080406 284759642 163468700 530605487 161472275 656868179 468178194 332718885 499263992 134314297 754035799 358289511 896941906 500109050 721113512 867330950 242853338 813977418 214552731 905698310 666426451 141424234 970396475 490987272 414069260 816225091 922049024 573656879 627278888 700313521 279677980 444664680 712822503 150421359 741756930 829535276 964061187 371893394 455242744 365469124 255804302 534087519 895125150 785589591 806931113 301810040 762427556 441999339 807386452 783952633 586597299 256533016 679559340 576120636 473810047 195297384 718311910 436804626 943420882 293872604 324280012 333793416 688447822 853790247 769088396 723303628 506303387 618992879 975304871 401012499 818183657 510916253 379016760 489996818 842280213 400016071 491649383 153934371 464571752 509303669 830515980 674145025 986489577 437436362 225661147 307879453 711989117 892622650 195343864 136538824 166942301 364200302 425225411 165594935 430362874 978317119 759094740 828773851 383858445 713884449 497865886 787648108 658598376 941462265 864798578 190347548 616930055 432175121 546039087 898226383 186699191 302013340 888303522 467970940 737796333 479641833 608442210 335578229 257364212 300230979 404095403 328496650 811306311 678877643 683360050 896271534 797742042 170003416 610675567 808156407 213275614 753117381 202852755 610997476 677690595 365901734 149935755 530028706 219773923 738654526 948548388 990105822 802844393 860454986 834640989 270779920 187862450 181215241 139691022 199906508 994269334 656713160 242529910 320953383 492256744 661092939 624665052 820222421 931663488 306040892 698920494 106420251 883101088 116778894 127181529 418859411 302212292 172335105 474510344 279866183 125876463 950019889 621983849 261558688 390880054 823969091 227525742 919714157 698666350 462578925 696441738 131779912 799180884 683110918 897747684 830698010 912862470 550601571 953640579 870870421 509481656 531149850 563195460 281119584 939191466 780696831 546330467 166893448 239651347 155310518 252247313 813211712 278257580 281123860 659536382 776914204 186746642 754538255 520553682 527613504 821527123 454584420 467824361 236252270 416569800 538914749 773778245 717394692 180731565 998251020 839658655 811403293 632469248 706383676 401430499 734649597 312587283 812661670 927510295 727009449 652921275 717649699 867047706 497050971 601638595 571315118 554611872 728686424 420327537 707386741 298057236 167361993 899926726 992119626 619265810 153372796 495326005 364263708 662640711 825606510 360302066 609782819 648735319 519110192 533913963 361638570 290271830 280547783 294933634 210786136 572948855 401014342 279970476 450294560 389078774 171197814 327331422 431555943 443157811 523996354 913869930 662296473 365073936 613415161 960517796 455208217 563677926 424999237 613834559 787794855 926392832 438938363 224558869 847291655 794106108 443925881 242323172 850316524 211189900 903290919 640840755 592693662 884329350 739892870 784411495 793422529 961967955 668971884 747794782 789735970 322225953 979211006 265908869 838397900 342195297 756414874 361689121 244065371 258232468 635873623 835051049 243330095 833688635 245644868 464685130 353722210 525458341 738133640 247258138 629376269 641915121 778853100 430107879 768003882 974676179 803197596 675479673 710157368 478182443 975059445 162003608 448581416 793124665 126146936 233010638 654579176 948501832 597798262 336901389 103098196 569790189 158780045 507894095 557145901 861608895 677325735 291003185 234502201 423697916 839346780 980014490 311618571 971654767 613169329 668082971 982952950 766120778 752340379 321532085 155372243 629092846 694140402 379606119 265471558 176428774 373758551 740062903 301637670 279412450 853144566 221120973 874251234 673954012 460740856 287818011 611955381 520950805 632271140 280232595 248711618 390907829 500937786 153844017 955076371 689496855 196021155 655296973 559129976 795175367 671200616 274213173 692039895 102008116 529428355 303523037 751058522 255203984 143811652 677941940 675147922 684559332 434817297 716287368 669155276 843006630 674064218 863019456 454757729 568572759 702512295 253545713 996574201 771104240 467708938 400066999 227266845 814752606 953118487 506851309 257125114 629903384 273411775 259445171 967069263 390282311 166745144 963197843 474696192 887639034 393036307 430802273 460809917 293686217 923912271 945288201 889799440 629416667 750688688 211486238 683606152 509377205 218500214 356776499 308248988 697555637 371818716 235835219 562483941 352310058 712328843 918122490 389276723 303111292 390018869 681911791 438824145 290798420 417759879 263446932 961059160 713417133 115051334 565257871 340574109 106966381 847041334 613497027 491440293 584421419 434755298 328683867 733048294 738923742 938926474 774153940 365824528 764314881 318068951 773079905 400061167 795157963 993742640 838029508 106204810 134524293 544944714 276091749 767331718 388085853 584758377 889791814 935905352 338152722 659862148 832857641 415596337 434796499 133209705 296874234 737399819 673730116 373514491 479222252 936456853 832592042 309020201 582521597 197592027 381325597 746979956 928537264 269105865 402624746 464733964 742525672 298290218 758972860 156642469 940911282 392200332 107989788 909641137 484850494 338618835 537385226 464778941 338686902 380919415 186213254 275850980 548871275 382831613 354220976 724024098 892389771 562245982 408353210 639854526 824360465 522448584 771467161 296017194 753652978 764844969 629169018 636161631 400078779 411678083 733819717 785643832 351718549 973980854 662253225 706118839 193205103 126086760 913851415 663122872 336531979 882975399 547092142 166819111 253230554 682323114 673343789 519488124 404059328 934316222 732654855 639102344 561282280 270159608 521830946 351775269 248437895 648053134 492625174 477894520 976184924 681954126 513266481 989293180 367771761 139133689 708421600 414568754 899809814 883285932 740260932 482947152 479629028 146971947 589797981 626702643 451846217 320857531 858636899 595359333 453048150 815189298 232316971 177622324 449330579 835101239 934645196 717063031 896055834 946589479 275829512 829384528 553105396 928016429 686802627 103044830 912814775 742723513 659922111 481902303 244213314 330667945 919323172 592973040 455364067 792885740 850657485 866258423 446034393 978876217 276042391 188152473 274974948 345480819 745084651 684913656 235113355 193768248 574244803 410759623 237143829 828836442 475838066 976033299 878194974 824910326 130249927 259519332 440679526 985845076 255208025 788880239 289988703 776631442 720664369 783835119 799967122 389259561 863670245 648546106 734010512 894163082 366718310 507389625 452876442 125034226 512119367 911018741 350508719 882576937 389379320 832145071 508606929 265324254 779662939 198923787 618141550 749651284 565921655 519024738 614758563 230645862 645428976 698958233 359535700 531043017 588149712 951623936 772370855 355200657 343740250 873247227 899815935 354448192 266948906 435516497 498998250 688071343 440895288 929388336 178950706 878520054 964012890 951893477 272294661 278962476 130866463 751913214 818086073 412174107 679164296 225842710 682470340 560014423 412799293 184875818 517782932 328715785 720991738 694678300 631298065 625822632 757616681 115116045 814740586 433402407 298459916 291683708 427543108 201802130 480314248 150313894 993151123 538609388 503577563 560102918 651041308 808565829 124325298 888955603 131524353 921735547 742462058 115066155 672584391 720521093 370611909 565058878 517881287 978131817 547323390 511777155 325421003 227500872 131939566 441670857 105293021 762561760 509285369 814663607 152385604 128755315 126241413 704011272 702357581 793350619 190456544 135156957 940243402 345090674 847588988 533784349 565431948 790322276 444798526 179399634 410774014 169663217 694049789 559301774 210518641 672953921 494137927 871113306 455700148 907636583 783093188 412863065 242279453 732918859 645055102 269270901 269060093 873437028 698898445 676561581 878906865 167534969 337286742 647662724 442420094 697915359 979196867 172732024 592313325 164927603 702941234 144975017 618842815 960691564 843085187 999557399 612399071 893076026 191407627 809211525 528313708 711114774 384164343 159609889 839696307 216071283 613922042 769513713 989705239 565241159 874388434 547628467 537957412 123736380 716829570 183092822 448522345 867929678 919522312 815926922 755092507 161981429 418721376 216020212 206316397 601500354 983575064 815887617 401285174 920341947 950187768 974289848 294964200 117379196 960669854 807523916 236121503 641752519 137269988 833162603 113085152 580670695 396214955 571765396 423431605 814501962 732749315 540341309 129853939 581994945 859619625 490085426 126357974 826791353 555815655 276287256 560706555 752972412 544663069 390269500 941837933 617186731 795451673 814386026 233671151 534366143 685432883 491500486 347863753 194919868 161559302 193633642 376533428 767712295 464167654 185487786 195059153 161527025 106844582 506316707 961643190 843148102 485003385 239243994 200532867 548944857 217982556 746540976 504977075 770492874 415814479 323518004 563183226 756251004 966603721 588144883 413093528 864672564 594513348 111544867 247976155 283668860 508685281 242114339 101913794 543243486 415196156 422706194 761991451 528325772 999427518 840879753 241330061 896083775 656838942 650502297 827507455 667870521 308368379 302986561 723108942 815391617 221317157 797677722 107637042 209913451 721697537 710305418 601661956 295560225 205246926 802092689 403204293 592506688 995511581 530583852 301920375 325194467 563071626 292705257 987320767 379302923 671741106 748781388 525656610 613036230 462640155 151623850 175716147 355289436 463552203 447578168 345484204 621315738 843682596 344048621 481905890 929506015 429784934 753148979 212496545 497320932 719455021 586257721 235900861 962987053 227666238 519321023 533349243 276075404 980086411 806468021 122420829 910960178 144321876 453332527 151708615 576737240 149366378 231020210 339880190 425082895 216781565 277222463 732188661 115387991 910113651 103299611 825216610 103447573 908084880 870330999 439282052 562504707 423254297 280031877 134984489 840471001 155506617 254411647 675857449 938591553 640922579 626736823 818876423 990388115 663346843 996636947 291858672 209214739 767607585 774887047 554761164 185098662 324983858 930026752 137062331 600780474 240342892 974089681 613221561 589163905 785239250 170034283 462825386 860470532 423971081 905445597 503581969 119460745 580358527 834561618 469787051 309017407 446614079 457484644 413976773 632215927 856618520 676829534 203424680 886570954 788757496 104564652 178942693 234198726 945997073 763464880 616991413 184529779 788909031 218924727 521445120 218893427 581919441 332942310 636531627 293713502 410038625 766849780 786188274 639584518 122824773 627009133 800306257 771708757 886267933 316107676 101557750 373158004 159201304 204117859 297984825 290765904 953782532 152455787 365944594 797066088 554313221 568051415 361832853 429842372 502334450 453866098 612189387 928952139 790759644 193556572 448770228 321770427 350681695 547453528 443096341 758094794 692969603 352944145 177872801 294885858 231933198 816661403 621702243 569543395 203155557 472523157 702304050 628503029 889291867 167288577 572342398 739803957 986488806 213687287 913045494 626172269 770264493 918332729 221941667 894533053 970859019 589990149 257198208 518273219 959743482 489059390 690753863 956644790 503294880 270092973 948364358 984550095 572027272 640528644 357671117 989238711 176124750 639982374 244271684 780357654 186951526 922508801 974347430 694327722 802354176 312979445 602477501 786094550 896640051 912481745 539040480 288441154 996792486 951420828 762394339 665860795 301129126 454475208 381952011 326606621 174502896 830596521 722389104 914016214 716297707 879743370 889072583 817341644 271534108 939148262 427024683 622417142 489286134 373870732 757275399 756488335 869483106 552892640 191954072 285536191 200814542 287967167 915520361 105101186 370489222 768841232 166143317 700412533 859244732 996834554 786515955 303389034 320931324 990337817 161732492 546008709 493193819 406833018 502366748 809743560 209947948 306814934 762180486 817572389 626453652 760518518 769256797 877513513 280587671 313401443 426436758 981982973 567016272 787221867 115208352 173073013 422948218 191474292 824212891 773763072 634348040 315773294 576176895 922285537 238939703 901744433 470684334 205631712 930014373 604623571 673926471 925189119 121842259 391963450 321451738 181448770 773752232 959822509 226728827 856749016 253534847 276356169 907260734 732201788 655181426 335795661 371788403 345032997 503707748 558265283 880577549 695657577 530840087 867837434 902508063 125250904 848153082 705640208 165109253 870268268 853787365 420956315 766546848 671428476 630978562 458022973 864120206 208100882 486870437 884630486 593658750 138858789 181315323 687527914 900027183 744196611 146109958 443653795 190777757 548272846 713106582 425418761 317441128 991406397 780157103 155233610 827540027 351252045 968580529 448861806 379974964 570468282 979903731 336853231 917189375 845862421 813492841 168130486 409131732 378206005 838437527 668649642 841669376 229074759 331234370 673583672 743418925 651493168 564364855 803273978 610246376 334669227 984442555 485070668 540712814 798850722 768121284 344722967 312964669 152006850 400219088 554777054 580308410 128318156 990588114 783250276 505573379 556458971 550346921 434964538 778870840 650355604 406776742 374588955 838224759 250861538 727454594 197197306 571087861 885297794 974957661 837541291 915236428 482811750 493725255 992376377 678777440 331875678 443937122 901416118 937930555 196607462 345538728 856825347 558309223 832716304 426187588 351802120 134509786 709693748 611930348 471978544 190283453 825711660 153919826 790432310 210585841 792565034 551012533 266614271 825153911 674671875 991875853 926085253 764355816 304956395 414293375 588112434 667245254 154113803 351471818 264928167 647159512 812871560 412769934 338390839 878709104 418830171 532620451 644189372 382291356 167144416 660112614 105627886 212923903 133162396 583338322 920105058 232094788 537159093 369557140 301276896 708261275 406347108 777146055 787677456 428634983 338262353 722360412 471507883 858990194 112189825 672278015 780141830 685042691 522987603 640245398 838424795 582542003 855814858 825600048 975136090 438036850 624468712 613539926 740875626 258597747 864508588 120335780 170784791 861693324 446500753 693651398 435907502 296727974 432687162 738093433 437590611 108027581 396690435 127571532 780583484 259199308 433861447 614611692 406690042 299565829 660805647 301311622 370838542 872415770 436684958 551602291 517886851 682698124 537076401 863583004 580453151 812621214 587537346 165849416 148672676 170917624 737196992 912269744 998199957 748410798 615102758 471349884 149039619 895458260 463863925 640942645 847130384 124619384 494636360 722428496 248139693 453519959 941231641 311571635 254463638 180227648 778853112 283488305 396333125 671422184 831581741 679169286 886912577 266103380 336640287 812520173 764533692 455875429 933461169 684400700 659022895 698002201 666615557 677589244 429568387 440618559 164272103 848056609 375147993 824595635 885644711 556614402 785911552 851312023 430599847 277987913 769297806 303211908 863602704 335351839 297916405 998212976 559016675 873506701 627400340 503812591 905684424 542685684 133674953 292158993 797613337 109423866 314318258 579267144 884005259 693890674 636747629 876031223 150748986 102614738 465975797 648006055 167813016 196194831 851480178 202503518 978083669 130185560 769465616 154179530 699818058 593819756 448001431 510014207 705557057 720982147 501206867 881403620 570450599 606843695 736540975 585603970 880281657 692723279 226064819 756394681 145007054 333287999 237462704 121933487 446206833 507320757 679632251 293016472 148322151 613008071 893666077 307533725 218641997 665248765 392069695 281741469 628156121 304183105 815745762 793979155 473177584 320332452 750890602 160579313 992772355 157699716 653571548 504693845 743492318 966086712 778187454 948512987 167999954 571389835 330268148 275111579 513639077 403225307 654187656 886834830 847978028 799701949 786790813 501055449 867200233 675193824 748917514 683318541 292940710 335446668 452418309 997312427 305925037 737155289 585521194 538645688 338667891 202641168 115005354 775886961 101531771 368821430 160160021 285101420 209176806 559562818 189505319 330882990 766931345 983183844 654283119 456438468 703182523 503220375 454254172 916424348 567339899 372361002 388077364 233850703 715733682 416060881 429842849 917194796 689977814 737610114 555748845 146443771 351456961 232026096 477524046 856354682 791431366 334825896 808919577 559975579 415675385 437917838 623334786 776514778 781852290 311746800 249792863 943645106 247299223 114871401 332497957 308078119 224261434 995930996 887883335 518588378 830753035 554403241 337629162 955227181 475989531 965431815 201484804 391899751 952893338 882448968 710487373 883565150 731959570 781016414 674716096 765365959 488622523 292307747 641914454 108622032 589488294 336339287 358584248 955359882 653711749 235257196 599965272 217128892 829790169 631934677 506524520 769212128 699154639 352001708 719338350 163862965 322963032 603172875 402533408 563715759 139865865 814253407 948616271 191037634 549161628 447579931 165304881 993951913 314554971 749837779 229704348 310662328 682550997 148238654 841004442 532903063 611331060 596816551 375190203 297672057 922880333 291851502 269814720 888836750 799882193 508568583 989019084 420633421 831485135 838325876 239092507 369161081 860017986 772142963 998331405 614910100 963269843 786750096 866806688 705514240 959862334 140546566 700924302 720311870 211943339 573972751 231848786 411119951 451829420 317164913 647336496 911848672 661539435 283772071 934776718 539283764 375347763 427436685 416220111 773853785 873605579 591614894 744663696 312150505 101038386 142114124 645069812 983704289 976636585 465830232 182939472 280543418 416579832 266173631 751655844 318649384 186831833 454150134 752223790 768780312 399158437 604959375 182773263 240230443 156167879 741395677 753728328 108348029 779265559 516286758 441800274 925711544 691569046 252949185 267378470 518215594 563526023 782597067 662001127 224543888 969983763 593199215 466670171 362033431 518863429 530020129 952152865 100187291 120436624 424344022 153958592 970212471 972722551 332643304 299804976 620696618 894188111 374613136 396779281 536228837 685102656 632218570 520678491 130677287 232377414 318577441 163995845 670420005 191090814 113962594 381666376 925378389 902679442 342291009 277675931 744767840 278367771 756492314 762888821 593077571 522792853 397475306 347391811 609467475 702771176 888431439 956695727 516556435 372657998 967958695 136497003 752528212 691273417 409543224 148058591 854255172 501953634 699500242 389845382 167980337 457867896 470996294 978704933 306698517 941184413 165157435 165946984 547381929 272803259 631476597 670260416 733449409 977086383 119084070 761984199 305134286 514267080 374190632 873218119 193409496 211255171 264842419 223485098 554256277 638929402 662591742 588283733 323999047 405462926 736215288 962655981 180034089 678836890 789274121 180651911 224847493 162460162 775737155 586608530 361315053 935570715 951353032 853033954 319264638 936721629 857400341 479210252 754541929 418218051 997436702 307885889 720640453 774752931 793920167 356300406 630862781 404710689 610852344 360350675 173990524 709263882 906304131 638127009 265478737 981888621 191762442 388271771 791031696 991278306 757282656 231572504 606948925 998952014 814046858 878513586 974240562 232679262 677742860 771039189 790169743 179998257 396280083 839169063 327699643 236880050 248742161 266747500 598328493 962350259 379401352 453944261 133461749 985536134 994986091 924156255 974833216 113837918 713177112 730547024 322303975 916071653 849836222 994758609 705068482 917493819 245632957 672119008 859066044 461244862 556550825 672361994 755981217 344052143 867100530 918289264 960231342 641478972 645422280 145227602 190968617 807999255 939964320 329323581 589026617 809432990 644967505 779296398 873585177 709835309 737359483 367159190 704765634 803735122 878613479 751418142 257060654 358493439 653780757 442170573 706231146 850279219 488257105 144707996 129331515 508827886 107345407 149331807 958109254 289250956 324418314 711661184 181905961 193115015 190013540 292269062 755173564 923490534 231678956 423053318 574598126 720613709 300302092 789597613 305391135 661220080 610834222 774131001 703932130 795114249 905134664 745636839 660336403 133051416 973906527 523059479 215530789 480474989 133865212 653209496 371231033 617942043 914059691 347448982 517513704 883535394 428708744 431952111 631015178 861944654 918506633 641376135 170421029 400927897 225623319 618258303 182525315 863155190 114751102 151288128 660764847 930620613 619846361 745493612 202031317 114060249 410076956 757059738 865068393 249778590 359837759 162146596 881745085 988262484 936911552 524930378 669708837 243142767 159678243 789646935 468502803 774429588 273116948 164381570 991684719 553900181 632975175 433344744 151964821 802549607 583529686 877476071 106378909 967432827 508244681 490367067 669395358 907987745 310071525 838899418 894165459 347436444 863879684 220495622 990375072 971859919 590401450 408699260 861809409 777391346 491297450 509043283 853137132 931267174 458365751 940023724 528520359 412426304 411124602 265409497 550160086 378878388 939222125 518877820 643777348 924051137 830488342 167685805 284154648 716411713 254157431 161524051 246190436 198008386 783271305 758641584 804520818 415905425 532226868 147455764 511588280 507731485 117060997 737909039 781145163 464264377 614497061 708786577 123081743 809510389 809361787 383238824 822428464 943403583 483811598 221886850 292087218 926142884 171219298 262744247 425390901 606671549 197461901 862821086 681189682 314451411 903171537 958517741 499069870 661711836 598965396 891245989 887676019 494180428 979429735 387265827 544497268 299920600 967528078 499762795 558766664 149577990 658952319 283568566 475641888 579472415 192294850 954070653 196605229 633182533 810483455 542876671 572058793 498618766 153261260 417953311 966773017 733041371 146389434 402795213 323426683 694526428 213613929 702718325 322068998 887238114 725344081 430396568 256033551 630770866 897452864 508100746 663253512 565669136 567300013 141838440 900565906 813712481 195923735 358151204 897952975 983418714 128175999 175056372 442569000 544685346 721733956 700545373 750168511 776886073 821134872 265911673 203034736 349051977 599892375 701428090 647127695 366381760 627054831 321310532 731072230 236249513 969135868 407007156 278318042 872898738 997513395 420836207 923444263 112253779 108615348 557667484 866083543 349607440 468404884 772839895 315595350 965858307 903517944 523165588 464278224 146655664 583625699 716719390 964258368 376238927 908012331 119285162 697570479 336172985 844670071 671619205 635798171 474989940 380734174 292520702 917880382 901212324 485875323 978812606 992937431 832634473 888860187 945458671 902387526 169984086 884269891 728338083 374718001 237130154 538556561 640675488 428027885 890331005 900210311 379766565 624636913 848833873 789068510 299591665 536303424 934107251 912061798 294236947 571149469 342818625 149601426 322778545 764609346 548497046 190764333 959197243 493823208 109508610 311498714 317289345 695831308 569870715 293263756 159886543 691623946 966589128 131245849 914772111 793033695 557502521 600258785 363458319 435619177 608390301 985129577 419439348 124216995 480224042 278079437 339923130 228616376 560847880 121274123 459237125 977193467 705173356 183336704 406024435 178126556 718618155 143203121 849020088 409516059 386512277 262761801 748323177 127734002 334650060 710613832 616988140 722718116 273702402 948001470 339567504 345276357 810352505 909864834 391124950 616545842 321387832 206828363 878212605 461684777 981895603 532390707 101255379 366365589 842185574 229820021 696288450 379923266 536888269 604161042 269014445 863980420 168552256 591035491 145123197 505337054 722368643 822893893 518370312 963790813 573846389 669054022 445029589 870129692 111776891 740536420 374509596 875304839 235154991 802582728 891318484 280793719 754939013 394541745 683223716 544436416 862757956 714769184 486391320 468978313 778858116 601294794 880675974 391562388 348164093 636135085 881135441 968605971 394963087 312283780 203747531 269079427 343992026 886954973 869240698 450076157 803595961 939713391 845007068 296670856 620973148 724435866 521313554 250768159 432736963 511068913 721867680 919171745 386078791 374512782 808066569 632598758 924301704 989595691 876319427 463893316 909504859 821662476 316181614 369802535 659122084 143365845 185846585 443120744 855506692 236970321 834895931 113282056 186749662 341881804 362228214 690468028 665266328 472808202 601262868 147793018 140867488 446543286 188939610 825473371 808772483 804485253 762875923 747124743 498750504 408796605 527133864 363358778 269010730 743621642 181541659 318227106 432531411 326756150 926494327 419625030 792553439 948274882 556194221 895054022 302493162 198742957 432487617 470696551 958623582 977354714 124913670 626577614 538853182 337805380 143074784 256862974 263392669 315181770 266980221 412487160 903868813 582689758 342420281 815176382 330653901 290563380 165230862 189408383 466778648 296257763 181755367 812449307 729275223 425282434 922054341 514699385 241478962 678266574 840639656 840122716 149616149 912566019 182034977 619592233 475680012 778092678 573013055 856452455 326768079 186785634 190204273 920567302 435206179 736494164 590953525 298015233 420494792 334035587 657140239 647210637 412950149 720514811 745642778 885750788 692859100 216208839 126778525 864605194 632178977 559589892 290929807 773774145 981390693 237205493 544031356 125189129 851272097 118463139 201536932 572111462 604108082 201062687 166305040 421153339 508266296 353434586 620684485 378074610 751654965 490291707 975401034 153050918 477109690 942182292 676228020 352255381 424519258 634735926 811005965 860355639 713158308 301048873 759687776 547721140 894710477 148692122 641545021 399051871 809617162 655752884 453884201 447365681 816015155 918874049 157648932 887644947 680942736 306857704 164178160 727767988 444120616 552626697 193771964 921755345 252944671 814017440 556827443 941410281 683648614 784006455 838119693 801094729 909530537 557585815 778064491 341222855 142040082 981827061 819424469 458240180 644809468 439059842 933767938 585526702 923677828 355508180 340244381 185287971 640052396 725396582 873064580 867212101 133906805 404138805 486931993 914852455 731878330 822125686 407740333 437986192 995183619 641811861 470877934 253769607 817575113 812725866 504129830 662332664 497996984 740291130 256965929 141994147 672465036 316237207 436778733 678995247 862003247 739542684 923850999 282999161 607847397 895993655 843679758 549960208 114194335 999389040 907468421 846030354 639645582 916293079 985042055 449503689 172029954 986588071 312143141 170477037 552099462 167268288 868379806 561356936 660616328 923289435 889931234 259970379 235792007 526382028 850043733 471767026 327203486 527334972 429701245 177409526 536335745 505381553 974302475 887769005 738258716 946140972 915345305 174878959 765710349 742471943 648130780 249419264 246880322 311220101 747387448 723061246 570314466 381777287 814812315 629672847 295130106 983038140 453674614 200341439 972699403 661875678 129574165 902731018 356846501 904146584 131089822 620236082 292836673 265237772 290069001 218201904 596284899 404396526 281956450 308417501 797186371 388660312 487990658 974443155 932623617 515765150 294384054 331773001 476457728 731147374 150740797 337624462 705385092 920010267 254384591 352042728 645551113 107369387 900273788 738705312 812437161 747857879 153980696 908576147 493459904 107545393 154089776 926641437 551247011 737590130 755648521 971951418 209095931 180157778 635072270 506085707 374365608 598371830 213515576 114139867 288308403 718001007 596732846 396532192 998578568 623323495 790877384 617555236 354394770 170425901 897708053 735588026 396598528 892862541 253651173 477776360 494519426 779479446 163270944 265799005 874635690 882531313 356911166 276950287 462612816 766155489 800276237 938882021 997771851 657242958 936132045 653914382 325986106 647833687 258932382 291484111 697763654 576500274 273887691 395616983 167818803 964696321 162254118 961677139 471330740 314361994 687004033 529333628 576689247 764380056 415616550 494449431 424977175 302500218 242697569 887598246 832927683 669248722 375522777 603823997 789804713 248703515 379542553 339574109 260989934 607110578 983681579 719384429 615447902 829254426 930108952 196660796 898297324 785129906 337055536 187116295 856264016 279439981 205512285 393118993 510904224 327414796 204570183 581016856 264156040 127021387 874073360 477403947 164474835 856103032 232095964 279224333 811765268 473616411 962930163 812690106 868942684 390362705 680142684 493449913 250274257 220250750 888810695 841072774 565521624 764784821 912571410 952581079 557709184 982886618 146836417 153798678 174712917 103977897 677731654 565194640 758442802 387106623 973226251 395401577 333300321 172694427 390191303 871886056 722292848 801701388 242546443 904426116 644880814 801168925 947478211 959126675 256690019 639651934 550677272 972351861 784564996 253169283 360208934 922670129 284386501 795617945 196846659 298264608 642516242 814707445 690111234 232061245 345969469 774333883 160469807 550302041 891774393 474641787 844801213 700425286 740806077 268088257 982259940 704109927 539797473 481530321 447073622 846635488 874201729 833227212 812830151 383186888 653274712 764888248 313304069 687542182 782235124 790783974 371901049 327306729 602746048 522962115 877218238 344983783 890085083 988632737 606569784 177043377 741097082 277517724 224748296 267201080 507310776 188673455 266242192 382213839 186724110 321814520 813416823 600129970 932345154 603681058 848835125 560436421 452780446 980869910 287934155 118585387 250967647 256887214 835124432 184913539 505464413 964110770 207112699 381849909 512705374 549591709 549267646 275575512 302376768 478694987 217467759 747397138 614065355 382662547 300161349 710777626 585322399 135075067 275544873 293388918 146191118 147335778 359713875 414337142 745777402 681088540 794543723 114345144 481634100 242918483 491129621 158631814 245416335 571987211 237669591 708582438 276384659 185331130 928131106 109607774 128194858 184771966 805908992 275323532 920022282 738702764 569988294 689143525 916420528 148766271 198945460 451187270 874020254 462771099 206279122 945515893 114641377 466747543 996740586 101837200 742055011 231940004 636699635 937583487 517416247 619070924 465077695 650250806 864162431 956253577 480121083 854732826 665996626 150894902 758438423 802476446 728236742 414916983 980420064 885712592 854423695 218221173 462812293 639098659 676397312 863922612 774141247 383537247 953853461 240297527 391522846 931699507 507074502 326510316 709488246 406590102 876515355 380548474 651256970 273171197 450744109 521408204 260169832 816479299 592164407 477915089 961910956 659779422 226297375 107413956 707827547 953586834 978020253 861382586 665891894 901067567 976600432 773972634 288944462 669839398 220558191 398526173 530845171 137342288 747922998 603284224 319297617 117009636 997595139 461674313 845292519 943574909 284348489 173132334 244435649 378884612 361790208 333104763 919637391 602922654 522647547 724709851 346466124 743609222 167843469 807582078 811526213 991474402 315765809 304322758 767001544 523723468 485900864 240117529 104600314 985432269 765125344 210082527 386641372 501817513 904989042 390127072 436364899 139178494 115625969 440546108 793520344 698487130 726071397 932620457 724412754 972603391 482709601 231801163 531953350 897973625 738134237 596969998 814225659 715085336 730792775 984916235 402711432 719530460 932082630 746298783 149365462 835868455 518950913 586742904 274094294 363819735 672786529 691463892 196140651 376830153 288745687 462277035 849588170 899019085 966635774 971081738 662718985 273614286 253239358 625788824 130118943 868270094 299101813 418026482 810324147 453258948 193187781 884719375 614089197 229745205 270747025 295809948 565509648 928697889 246021036 835069868 697691000 724859798 578415760 853137190 564276547 841555684 934735390 830565722 810374956 401076588 672603533 719204750 782271667 265728950 363947645 167131177 108154536 470313034 857187720 789615155 814152981 753496913 526504915 683884990 795304079 350222217 893914972 904463242 613496996 432823457 165798124 745122633 304395740 721442213 328936919 840282725 163268887 319963810 252852553 183018191 172427131 395855993 279917618 809943316 651277739 639237486 451029064 194426687 477343559 160023453 881356122 470952912 594193176 761132245 351048316 356250322 661860049 637153861 800535367 703259789 445366028 956980111 463067206 543831673 245140766 928326988 415450615 884173674 259897273 115396574 984896485 842504626 412521256 987267006 457744863 598515818 614015443 239581102 547991869 490169644 725052381 859862755 773466253 246318651 156790567 208054266 607071634 620167090 896898588 469803362 334600142 518282730 503410593 446114748 721866784 465101067 469350478 226611921 352111651 985565588 775490093 765033974 162929870 154932295 433181236 231919988 479205154 985776122 172501070 152226840 548345341 261030143 293514889 138223165 321366028 785898522 976564865 910270957 947152513 844638434 530881973 403396828 242340004 137922788 802335663 758236535 678976679 861572082 989438906 239770182 165838443 730314874 485351761 123224086 830409781 235002737 368535156 854872966 391471890 942562605 471162091 322995707 930456070 169483898 349053436 536310416 468538227 162592262 457616238 812542090 681146891 421903816 742152787 344299353 516475272 682356554 842310149 508468847 416761489 696857200 204803865 590841464 234977392 830707224 278152742 379036600 974461696 817979747 645756360 490821491 937277129 750544884 119591293 272030584 709820508 835048782 553829860 656020207 936548974 452393897 986442896 641650794 803819890 346034738 885087556 710217948 694221659 516138487 670265633 482752575 200734585 811560432 699275218 147431914 678186578 344529410 910888137 939942335 819469278 613134286 912952469 397467965 956034014 114129747 395870850 793544643 187604895 820171363 443651951 737175400 358262393 935373705 917208142 638693073 659903511 175005331 512366485 726711030 132086772 355563192 460275759 738460415 588702256 306172161 841846841 750565772 661701319 234627197 539174514 452874959 939943803 287709578 201809017 126979813 342948574 838914528 463844860 872166928 125703676 498512683 575663996 838889875 720447360 148287363 837378399 984808136 751247287 126387053 915093880 836238545 273230749 746854187 252445934 388630158 648923095 908292017 830621816 827909648 902966592 185322109 769830817 679746450 895300814 156420704 399669793 285478910 242354926 988959468 339213600 853597590 296105149 170681643 809284589 824116629 167145306 255012271 586739332 682315111 678990630 146031374 949374350 531901270 586684395 632815610 280964779 101475915 306481965 221020986 238910847 625378681 401963068 482449574 658700750 257667418 726706208 204955134 497808570 455652567 935920249 218322699 303774207 558198960 511381737 299570011 970519835 294093230 793052944 456517334 939334547 801776768 211931714 121939086 714039874 141255331 661774720 223610598 580419900 681068595 875821278 867675774 110330258 213327264 845565771 594097841 582538796 888834454 792678623 164346763 597635349 681855395 365826848 255497003 167208456 297870364 124033322 464867580 769332674 773338813 499971682 590292978 284875075 587097214 346175633 384341802 687640827 133685403 261714970 803746726 156111856 213765523 911698764 831318050 833993593 148423507 184613378 226685141 960516248 281722685 955143864 777869462 603536236 843019945 921397740 934119064 101481712 135282985 638748045 761921030 844650977 530104471 711945200 984988577 171142636 966630423 857202594 750593239 481036932 191875617 562221478 495920312 182959535 488426361 585156412 410260462 125237719 147642858 654190731 413009501 778811991 116535822 464161823 507608215 166309486 442918204 749935098 809980161 370855063 927919069 434254155 188069353 540549989 593567355 218090632 743541781 833448015 944282874 412597681 485338449 874737688 995499121 500797218 673760805 560366604 168455160 435680793 969662155 933388376 167618378 338255036 574184341 873336770 500393764 144806635 143615196 658152753 609760305 632831534 985976489 498858204 285405427 177160201 990726741 807545427 250597424 918381297 896990220 404083553 186184768 343146820 300415498 630405923 462842129 791387671 889620396 691345441 304605885 544794310 659804966 367054408 737546971 314355686 705310604 849740155 970766123 497817444 998414638 745945974 902657215 848736484 751528872 269962055 327448215 608827831 247859573 954715453 996700601 340488604 883770676 767770801 611443269 897829067 277041219 928225659 665515467 579423319 276526761 598601818 829532991 830478050 722322511 963909846 929577303 961698109 666128701 615259335 941320653 484100874 543323292 105020389 795494577 796962710 258309059 139612456 575292325 513568198 788627567 557927836 365359459 668565299 984126192 495550317 962513030 615638790 571571326 650110772 425887303 307251496 363529572 418030731 341503753 558369671 455017939 648562073 399503257 987212645 705050962 653082304 214319119 699015696 518879160 786583005 875508685 296707378 237250421 878918978 317066553 376798415 778444589 876383571 645227324 383671529 321913757 704059468 453686918 605392116 318658394 123208630 464745463 489758604 740046592 521735143 823009330 998579619 751420625 688338842 397485586 576257757 708349346 855299726 700853295 128258438 507117149 440824780 546564921 858130627 480033177 329256747 420476904 348554651 616357613 872012517 173037433 243710891 946683481 725100085 263975064 951298173 414503459 942366850 172364062 853014402 192543574 509243624 473701111 256293608 832653150 158566841 401334972 232307136 486204412 639153801 207251559 439524370 817659977 811886329 311909373 845145114 303767161 402010292 601704561 895889638 588009925 239635241 998469101 792934019 644349141 192834318 539475475 850126172 912326269 344182581 911974509 341714495 535552765 371616492 642897343 119249656 361375560 459200101 863288365 220619347 977280266 219525571 932905869 974070968 114250559 494615676 426571806 299576198 784804988 411043682 664465289 417538581 957161644 887576899 583292148 780933739 695306362 185811072 557536732 890787394 491621809 589135545 397444233 898912021 296401695 628307231 920356457 345701214 857827993 664174719 554183183 753668204 221676248 680992481 987600839 237652660 298465234 999365130 744162075 443110090 240900618 585264297 509518480 371879362 688007785 951905212 771615174 968318509 879244740 957976339 754741046 316693242 892789170 617507330 691310716 382699823 567188236 616980557 464854046 392965917 332703205 724141684 214063805 453840185 496047537 119293690 891718402 921077993 643279708 705994534 250622169 653405131 234377394 554596041 219569319 879155345 360759259 872837371 923155884 319718305 459255281 903584976 460044969 949949999 745677508 149267575 322749326 728188991 886378051 343094278 566661299 897978332 814080343 624684471 225448959 798154252 916026855 829688332 216075408 997379641 741481257 152728610 899377818 325706219 744947415 320657420 881498271 303414958 245912033 671371374 616440122 559857205 353691766 688937285 473915270 630033234 646477427 834611166 914323694 728890016 338828540 838695388 267635958 821286228 626417578 443308595 303850478 270068117 577203504 300371923 844422141 276120628 484977945 426214897 448221872 883081985 341957079 919849404 218181635 382553085 481423202 305113196 732471353 206471544 376463705 846007140 515464702 770933335 935114138 842199604 762346907 203696601 243244728 314756435 824426981 257172837 796529315 680217463 319511044 728258539 953238599 691872277 941297477 501667416 778708099 872413289 126663027 678749777 563342249 704924644 703786978 229655236 279177246 375553271 819147924 660131564 328302300 115823362 512379526 151404185 413979888 961227850 644604118 541513338 924285148 815288317 768899225 896581402 264775925 741191711 265414428 449564731 374450747 344837804 508292130 214906509 274583088 456485148 487081602 120208405 527032386 757299362 833100831 299515086 473068917 229636936 347014480 935957006 707206553 559097352 647329049 810469002 785414864 498628043 694954798 977102367 451170539 666223326 794600301 479499951 837161069 409075616 906941296 165095232 186772679 213313317 137908754 608878191 459130190 262414879 988002105 646427020 963785614 839529380 438824973 486802676 559595394 733291852 296187751 967012360 269440916 301982136 285499792 932985708 267685098 294655079 188546819 168284993 188833177 606642589 612501943 587732708 552330109 134066825 293693922 280385456 351293483 415167691 533869994 961399947 440040646 280440263 264276789 605480909 664270710 360326774 700439575 206577005 392857562 101714791 443506776 777531318 250495710 194748893 849998724 849459247 170923168 687194429 281915987 724116290 852449419 134904607 626675215 611180429 486372203 999721167 593604981 447936074 455166347 964543941 727272445 308552836 463282551 686094297 721149872 854526244 356847144 568544766 924269661 441301421 197189482 530636553 426573335 765732291 383822250 377649413 140147730 144115470 641346146 962172408 114500807 632862689 376064837 711255823 101200363 897318282 661704413 941958733 807139943 266037176 114182649 699501021 273310556 855971531 583447712 269521228 631982309 625092269 451515723 361964227 213987941 872132190 802493399 373903971 899880202 608064841 405869417 177675583 739460789 690668652 126681975 825651220 745987499 648290896 602705138 387658483 654492957 509644338 416572766 372806167 876968555 322213472 871336089 294261008 809693115 901554701 180415646 142813282 440103241 968422482 103426221 425093048 190593550 312315666 380176021 659197809 319808129 221068636 787261882 790246210 923047298 774390430 344924226 886813166 747033108 754498462 746067223 671619431 164197219 853895264 159679642 340490150 968418179 401764461 571101885 370550223 655645335 373121158 999853593 843337426 661916885 192050467 944761764 611209708 202073479 333893038 370274847 961407789 340289542 131593482 826945535 144567693 523703559 835287713 410123549 132333879 217582758 288257381 732581206 488215074 942107567 763659207 963745313 891961450 186555658 276199243 511459345 330426130 556052939 499590599 186558022 964378909 631393326 390769189 792437769 715419037 420495961 686725610 433318293 690432425 266406715 209088769 965989394 696588830 547524790 681586108 418618230 885782382 354707413 864686066 320838961 219859704 279772504 273465254 904211472 233714639 155438103 524497131 294908877 314115401 206730865 438125431 953671003 761876715 107481884 544147714 420320055 219089144 177661172 970144521 861151334 140870410 104689020 217272053 677801390 755579709 502766803 791066766 304295673 318747802 677156383 496838422 394432120 967604223 162951597 929255093 780720836 817197505 549943483 606471764 271631698 558453253 386223735 882918169 316747943 969242751 622808895 476494189 261442188 206344825 118003306 180315552 264473489 593815505 862454381 365069442 688864342 222076124 411905202 124577240 592249016 806409285 662173122 331091840 450735472 289701905 376131976 972640951 912804496 182254443 520387845 240638702 453277040 365136326 644266202 779612811 217230690 882763899 328320885 885394554 947749142 706603127 586946049 681439955 189899725 919252699 445024914 400824041 800073212 887294080 323919035 461394731 594749167 474717397 124304460 565633212 205811227 210956028 152663154 264197187 152399155 195939442 927010935 375201861 387842628 682047373 503691952 268495475 937586996 563978100 561386951 422255239 113040876 281874079 336132586 825677514 538420933 834836908 715111490 219521348 308574147 780413373 880983559 486470343 635808248 538111391 289823044 917944523 861060736 465215269 830426351 601467304 835819501 725806324 939080470 472156368 300304321 395945447 872954525 624528215 223957881 291426849 674518091 310327565 205174773 414762195 865660976 559925740 866263632 992742124 102095641 752314390 822866471 760581722 866332249 363775800 781277519 419159384 329039631 968103017 834118019 501966816 117793669 119747010 221034722 641214580 774383038 413952848 119348201 808730454 654970378 221496207 971450261 986615423 344180140 239245511 483250275 255433464 662264925 341912790 882770722 942746585 850522978 858202103 890500151 289810779 538475119 970743443 114186796 992510888 787664721 456911935 504168094 186569253 493211385 461244043 781481934 860154020 851786808 616593979 303727805 730160769 220957436 551085014 850292491 696787348 723950410 853956920 937499050 611895052 904319353 795823841 915206503 456688568 693707245 277599273 147680525 480412110 710082712 154236625 399345115 933630176 470695120 407867287 988960610 191021308 157164070 721604514 867403180 522310573 824219815 697239665 323629788 849811312 498321591 109536285 262832088 248802700 759089574 496556494 488470477 817542018 345010770 720983614 710943903 400414419 394536006 233254606 250795919 211286232 517782779 804148318 540827494 564650171 709830257 445070019 914188646 103434425 142549530 146237114 682981333 484361298 825751074 158210404 282724674 941857436 282002403 104658755 210778686 698584963 540147193 652954489 361555387 162524406 580113028 628554477 188274437 975333325 908560390 851246739 825296134 845511736 783667953 657043561 487286166 366252834 801992315 477586143 358305249 654479373 654299314 443090403 836087163 590662499 371994931 490170825 825144954 638136068 556584992 679336923 236654727 231496264 877199873 440452975 675280397 117102657 759075764 372251165 299059994 615556316 590298042 146077941 968126885 687721724 966064657 481724846 427420821 909250649 551928396 202987016 670749422 267569376 536737472 764605123 147889674 689501291 221187235 769052477 996694442 132203365 481656467 342979358 194591232 675729553 317778938 583507713 937963331 130817594 911712748 516437689 577264612 231352396 677279439 639292449 347384261 412584072 873368716 589109842 632519644 852095120 910381260 867748481 469090589 653109616 569763418 116284495 709259901 647975032 202507746 378165646 278192474 703171831 433222924 552764864 941756180 838361680 267650153 164074608 875543002 971016018 741814523 278908322 805813243 510217197 222340104 806963523 250492442 636073437 233842038 540682121 146071126 846845823 308904260 559523168 311888153 791254308 203259914 873149276 713643433 424051578 513909796 105848382 970267420 610428791 659695356 845440179 314155547 155177103 347101704 974486238 510758815 904921715 537635564 654793200 195768672 545158912 476464365 580935454 441595631 364908075 675699163 671887621 643780914 225510415 850360023 369019537 736546528 684691966 772303707 323509570 727736606 527191984 407104545 113421070 627526599 739982025 812792336 196533949 524296961 808491492 659395982 174033562 989877489 187385076 277052224 979021252 877627600 289270016 762541795 900140786 968648380 607357289 245751124 899482306 168926890 388914711 851899436 749422905 667852536 577834001 304785947 988551240 125983050 166350278 184188083 455621319 571267861 355363766 439203775 521132452 473045425 102964691 950134055 410443652 162975720 556949169 850116169 320478436 784327704 746882887 811714034 594743336 426665955 206377563 391770196 913485193 662107711 195320886 512574982 747252502 233321933 985539513 394781765 891720156 603090942 437760561 729920914 385788348 312758355 686238854 178919683 873704638 129434324 949675277 229265370 167875879 959514092 804571580 724676882 425442905 943746280 390812211 742989670 399571427 554300354 936147607 144380272 831444408 441964326 200173021 928401666 554748949 320960825 327474065 328400168 635669248 510430907 722914469 836273115 202287143 436476093 333188627 384435145 735081777 906843302 287299947 257517140 845859772 282991637 922018421 827426251 961344097 627204580 507013675 484420867 249429405 454074483 448301766 474607459 662472150 363644864 648922290 479751777 651245621 508984079 338183549 312962304 365784331 586029085 721337869 221883892 831184323 309116318 521018060 386505142 962958993 631640776 695658104 800977974 124290705 629159096 511673581 464576092 795498912 712873267 141772715 816286731 616968172 695193442 203766085 473392780 573155557 886284765 987302484 973957056 104780139 310756809 663846314 479966005 776601167 827396551 697792353 677563301 593252020 542630167 824119375 657917683 771464510 522393681 279284599 345068486 208618689 793017089 173714493 242061336 949662465 952129395 168395400 803161080 677773017 636433728 536844365 511897282 808575487 471805391 823986383 251254886 607607307 668834940 768140041 156903404 982741685 916462238 921564538 824910396 159479359 875312991 482172543 414549637 728679081 604253253 468531205 236305004 880571655 901024435 387205036 602518241 740081980 893426423 340156123 940127668 695107927 935611242 402501749 686512011 962424360 250115967 312843728 416975652 168570908 385634285 206485361 788078127 400893731 267266247 574231606 649371855 105256403 460455444 828163920 563592851 136133174 603334950 490418933 490888061 740966561 832468216 429468399 571000521 226189107 117629223 331475539 879887307 497069678 255748355 713385877 716769763 560894626 738392429 764544269 733493869 729965708 515093427 701267583 986641468 133467737 673301803 277305811 392986029 317137928 807098078 254962211 118605042 375173582 651343600 662329102 260427094 187597077 459359829 499819342 457931157 399124173 584769450 113376780 948327942 572123803 498979221 579323250 653125252 939730675 945437964 196995464 471066474 303346893 151080277 926594617 915075856 418102024 512192370 978621993 418086705 455890233 695846826 452199972 707025352 943444433 301708174 603943052 739802697 340945711 991488699 357865340 235364177 593575517 630598766 340307170 439811506 454045906 773979699 708285696 722162088 284302818 279371917 134125602 166034900 237544892 427640475 805927735 856258799 167128151 451247411 785463677 562817342 158948443 510665245 818969679 463093554 444646810 608217665 160026404 260055715 737618508 572503844 888425722 846171734 315462348 179639785 346174161 481214354 371337520 575194477 245914165 318072257 834200433 583334282 175349267 855739510 135447042 396889637 255053296 257891661 319354419 187717875 957884669 860643525 263229080 263652351 370060079 542022332 663801538 747767956 806133502 717483405 883598409 952508823 952176430 904366363 770873059 955312901 102550194 435001335 906554999 800666146 476457766 336273161 350470333 457546490 455191851 610831895 504259257 466868398 766516740 551612509 274149114 778035590 613595121 879943352 314144596 897741675 150653116 187680889 295790573 700899061 444326770 873938913 275498515 789525405 823027930 824768296 893299185 780167285 866937083 445413586 975993676 908753797 199904203 508701572 611624404 996595297 853842420 580980960 863325348 605047099 838599252 752479901 250158066 431150356 498020938 502531982 425224300 592451331 410363176 824258704 918618934 422214060 374655773 933222669 844198928 498504365 231082236 917945608 611355491 406587449 643348545 522891674 737442485 735235864 454252209 684249584 149479152 368377898 125756248 848141784 871880170 373803145 862506274 436200053 922519252 276927947 917008418 486037882 614293284 742245251 996977453 302715240 757633948 523294019 952992581 502223263 230356734 643449973 881359887 183826847 400828079 586755937 263525371 682575651 721819232 442241501 964723920 624201153 406104233 607293989 437748914 762922518 529181208 143264878 523426108 951053732 721914080 223432516 957759126 791651395 271579382 768042201 836353628 493923603 666197576 712471778 298942352 705292313 705911164 373610852 872319659 437663157 119066867 548349483 847867352 582608090 999837811 656686814 936944121 241580660 797480574 875715073 563472933 185509639 679753207 888805450 317188449 612122893 189158309 955969734 877343225 960119215 402881020 813429653 215645925 770421266 357708556 168407689 874158937 224051948 784894598 676545358 688318933 519088433 426765385 397829303 199091538 572250673 941938372 791288173 512011056 203523522 112711411 738148752 457189708 803007079 868153320 671689600 940431846 594666145 452597981 667204808 151076083 514257353 612844364 461931741 193471108 155362417 271902829 681065969 302698553 529245492 862790363 328961667 726574809 414251295 416594312 294934708 722830454 135668824 573309733 420605097 447232574 552073302 613358280 709987595 712568317 664126207 791134132 447835501 724738033 602356113 369503558 298844975 446759205 564038797 978676824 828262494 729254629 882137002 935592044 282274242 995455501 378282418 513348687 595149601 176050868 382351056 243467302 340149026 653487449 961004852 768322273 844692916 103770874 595661184 368706728 437432369 595746894 445848477 210146292 438368690 265958011 521119461 467411181 298921907 937378987 897838501 738484343 417811676 351134108 622465996 262291579 967672127 937565067 601345768 514747723 811946601 479397346 216828801 104704166 544886739 774009189 993402284 209856816 755806468 256095000 783782980 606255118 364470381 897995642 745753399 527562011 972886634 457520648 736975119 765413403 769233154 134637078 105373688 809974504 727559173 524087260 247921812 578456320 150156131 440757295 872947838 621273394 938322370 777612505 561111708 149439624 341844762 647599447 943237608 301113845 481195702 394274827 315954410 841920204 959340275 101252659 726272153 377046007 798372975 132201852 948786905 452630757 508728976 228813545 813140158 651629425 996697978 106944225 402968552 373507834 120610011 496634004 310103859 460010394 679126618 952300861 522132065 872305226 535784978 186715609 343074248 155587530 379179894 612576484 191152510 530553364 264411396 835470265 950830042 710293314 290309625 644657206 590408225 325049524 539997228 296684787 381363310 894228803 294307178 508548717 908744929 271015118 883873857 869356283 602378838 778461562 617574720 136208666 650770571 970886999 149563365 858793199 260478127 311629460 179288227 892351734 570273977 961643453 865287942 164353713 285738096 898191882 703055233 572480569 130991599 178742017 211939634 284026051 575489143 598891453 394080049 228469672 493088332 920607464 663665754 318653193 670148961 776916734 964607908 127142619 915463082 258811970 492765178 999433692 282136029 335143111 210907943 343338177 856598549 468745632 746546761 953876004 342293449 145101607 535590842 539447276 251013259 145501788 360382559 882130546 528632555 323101087 247580518 897238549 912547231 753608188 747890064 521225624 533807041 416913513 847187608 513675527 730692806 583293545 416596936 474314566 245698936 274104474 675899371 435395815 730706125 376713873 754606235 578973158 599528013 171088659 114893754 503752810 378637352 625222524 776250560 696793214 647194230 607841037 560972113 580307487 992820057 299007972 312487361 749940514 561509614 859841389 416945072 987862455 919805404 816086340 398445453 892826009 548615044 171349377 762971673 211090896 958858208 739469311 897655388 744010134 816838832 395083039 435272460 994452762 638199317 251003266 297575967 255375505 613221210 801357507 160487195 673242136 248489408 766639824 451295183 959180016 817525315 988921240 869120867 465941117 480254667 583851499 344441888 293941948 162219937 389624090 351319850 496198584 883346878 751931716 433713750 622803706 359491274 684638464 480522269 828417858 775778439 200193915 428071585 670030204 745078803 808687657 590866141 563516788 882373546 139091936 393662699 276478824 313812122 865662101 802367306 766545303 661543176 822680010 724796754 171501569 604514933 199935338 527278684 531591912 106438924 538563838 568227408 767443566 398806291 485210030 627205559 649052111 416920914 472320385 893462415 918776932 109050850 665822004 240537469 508231396 392817492 642062718 866508570 274255111 401381925 369693303 713250635 110448697 564217041 663091576 138380493 981835202 953431523 232967007 234079844 328312593 493921587 211046145 348740963 459583182 564827995 790394329 187763964 194777496 346092304 983031132 114315084 474601080 547914022 843866065 613269455 993529025 680831754 822378080 430541918 996372041 537424786 497007443 291731320 816254125 791817294 631853165 704620837 884870190 192544810 704283138 307533598 909597455 421063208 322318437 110165651 800233134 512761859 647246130 180049561 313037446 570259030 403661993 903080141 467601039 239833309 734093897 959208704 191455793 222880691 371051240 882177597 414698521 487088323 649116031 248616997 278005682 580896605 187753863 343630402 968434305 328168115 648645651 483146563 856986898 223831040 945964812 563216029 387839529 672987274 617179307 720836205 161255975 591307269 646319862 466014658 661282868 271028143 140841768 922094446 808110361 707491263 208234081 350698048 423196273 282115946 206056851 378468826 596179000 215364027 457926149 550251406 214220380 670744252 259589239 804262194 968652011 732408793 317058513 140880654 551470357 169724191 117338210 250782569 840245775 863488678 509583301 387781432 485713827 865297364 419643306 722625049 755252590 280123334 102446793 979965677 428130153 811735099 632549111 630868916 978178730 704173779 262352768 720680200 606542704 583338951 412471115 755544631 282617684 826344086 503859165 373662007 221106682 238948067 338859241 881401923 116123893 976254100 589575482 462841606 301373947 513247687 990326056 158753921 118933260 474296815 539605393 497289813 558455906 903427181 240209138 644233497 571983830 429795881 461079157 368397670 536285137 761829581 921521708 726551046 360702158 913809265 148585555 967822806 689545352 294351736 419264199 242156849 566063450 751611564 484200576 812250968 579604792 171971823 741397566 206154998 212174471 210441367 170169420 398270438 780090965 666520555 917766008 644998408 981815241 611533049 939938542 390329209 474777938 573782034 124112647 710712764 589608444 681644086 909266021 815926957 997062081 172702092 826219127 599510966 807242865 137474300 148408000 833980853 912204300 433435549 309016058 925829544 493998490 321541934 328191769 210981842 928711232 268654003 427680481 920214033 553310809 491597970 316676967 650201186 295598530 433534694 606785480 882104374 797437819 668103924 871894368 367298643 678143970 747573516 305867183 853624501 875925180 477100672 241444998 270966747 936443685 598920223 105060156 554533653 251855515 737239722 748198080 510286364 988066680 675162746 220536269 900806939 749657531 407769384 475525589 291996134 617803181 956999167 295378089 112976292 415245806 318661401 907727792 860273497 621338454 200217494 564309298 811285903 856756691 684168099 151098910 187318967 582268931 650962666 552661907 582161375 569599208 212232250 215258538 746340196 838979329 783656203 672369534 262092876 999159835 680195595 806653300 872910086 798257749 706897391 571714226 420355058 217992977 206803489 616087931 539199254 406369293 459285325 286467022 620590898 290939445 410733083 683589102 660054902 397290258 300633281 562746862 332034730 115296564 780106019 448539672 682590768 750101952 733557174 731534594 939235519 282639795 914695686 508963379 315589528 487312462 221949943 899784611 950625127 943461586 256981858 114986393 726599193 649192167 610856337 698912250 892721288 526863280 296315864 531246886 486708509 790530295 356721420 237369999 254210690 554148424 918212704 569982459 290533495 478867149 386422864 423558987 325381773 574770147 135683147 276043051 701930130 872285481 971452326 481595076 453194065 349030719 704469093 863767547 645554904 599575229 915652067 382217457 303673237 310048835 793974762 490702343 887477372 139937737 430850474 797408620 819389422 181665777 766200806 174280520 235004388 358693248 671915581 863883276 816213715 757463776 741795026 741222667 184603142 728831201 320517959 958910355 435282360 360162453 146227099 286684805 369460697 798220970 618338260 131407743 442779008 180276527 959724556 529738512 281909709 764851875 113974139 791003032 931526368 593950923 547077369 745607124 539843612 467458936 215418993 945240304 432144371 487195993 904689653 334055233 403739473 274938123 673386498 491987569 570889637 285613280 537993142 737007657 752094102 860728548 872049942 196605962 994653810 121994134 706528888 765565952 592531336 481565149 345436822 217696638 543073897 932141753 110975225 330347897 972461865 339845267 982806270 154701475 535705255 822289601 448736272 625403029 578297820 658728680 412677546 731850009 176064696 458986192 105612800 598510887 397950010 478530128 586852019 584993619 103641383 582402321 585931420 894923439 766899108 772656319 789120504 167521768 484692356 868140433 920536868 465794607 408301381 564105191 492608807 978055494 607622059 780997468 824200340 707124456 649491679 616287249 729180248 746692675 537653171 311302760 565388198 474395746 731846608 212192396 965155496 395974399 320083006 977670915 300960842 766117259 935107774 207351498 688133255 717598538 191283366 743675578 443905712 868801717 759970456 194854448 321625768 913024497 109945449 738519287 612922414 135259295 522933461 466870377 626604271 900014496 204114586 979981280 734208404 356582074 461095457 508177259 423013683 810791455 535669885 285035164 557593205 220290397 348144113 754572311 884770579 373598362 247624733 541282213 404432112 909048321 254147543 190452172 325955674 386462724 523344991 361821969 851525767 946945372 401968648 819958814 625380125 907569525 348296409 403917370 157308045 931728446 658304200 494521042 599172312 313319042 236745716 981962785 183039040 847260630 314814059 701018728 119772067 649243840 443496927 751282001 896173152 279842054 349447808 400655676 316060279 424456976 712617630 621405120 330438551 431045540 208541379 644855300 716634174 111668997 917640046 328155643 685823783 128015773 882459244 160365378 107387716 930832623 850827570 978583939 259729886 647746277 378501765 980141081 118156853 396504291 520421056 486954518 785549755 683824127 453239498 877634946 188587823 950597006 679429137 371864710 104380971 694764699 723462677 914966413 498939714 395493188 356244324 395516987 257257688 392074267 609023691 605516300 159848845 781964892 264330086 221180435 741327213 230192199 933517013 352139928 702475328 834419155 748917035 235216801 808195544 168095384 876363469 149255538 933634007 895611412 560773368 247357865 603731058 754380182 254571264 813455037 690827767 406617480 679032484 219494586 307536446 253242848 313790216 570751111 738423718 908136694 786085842 982353192 435556135 661827061 913122248 174501785 772786151 515248720 811296247 503193432 796603224 290893568 214271702 311541634 299516008 199091348 350791218 477046096 350870268 939842245 702991055 979800409 298560131 717067491 804329964 560334192 518147133 636550797 158787686 436978327 423939869 357944577 234424407 706773941 499634611 823603647 754727174 144392348 743968455 300592751 539761102 996060474 533957247 455616314 946314981 894171706 858946070 715673102 483206533 709276441 922325245 911116893 282444788 976391469 604956526 240986716 242780114 404165410 282829981 207572559 995161800 494326322 711622122 397357800 350016221 525413185 280467802 913207226 188642029 597809087 858649621 496995568 583273856 654653208 312802178 738339809 973865218 505269508 816444864 573745615 524151380 306068139 237949022 338725891 834358704 354392018 105392010 972282622 103932721 689481112 394249594 741218090 509923105 807177374 119793302 258328545 427043469 392329546 307799082 647291095 977382396 518324893 723314921 874227701 344929931 352337843 451645549 819840938 975411819 943019852 981825987 884288084 895312515 313413876 366877264 536013447 932804283 880798639 671864842 413085939 754137742 860656293 832442560 682511506 814832586 809245578 147197696 143229983 674891145 129919692 516551748 552795514 222552461 720316829 622061022 115262861 601154667 795012604 430740870 781439786 136197985 571104737 546686829 497299296 346176923 590269181 146179484 643516367 717832400 810541112 527299340 924216696 870805887 368438211 447559025 507971036 180429231 257719749 704963957 580876880 513739571 306041426 825984976 267703346 920871978 229791712 350327947 281854827 844835596 770684206 839712460 573353819 445103273 419427988 430728681 966067081 931058193 535460653 575547315 362433295 643852710 749218189 984100807 420315905 732499458 992919594 209528543 785284611 626018690 350849857 757627868 775055477 555937401 258683876 659757338 374998344 333829708 850992211 857745763 604049849 109202493 983594845 122677645 219879567 611936287 754169273 449285255 268296623 125533357 376341635 453798365 124622982 672257244 725924253 612976782 263704617 992974373 150962842 454846450 512558126 785897941 824352448 902390485 246648532 558201118 789014440 452247146 909556569 371628441 773910499 984621054 699643432 959806843 897940239 326220992 998261109 542185552 375377388 371332217 918850274 906223790 128651206 311171135 145101292 106181557 415274518 649716328 925012881 996407104 693937638 479954696 758586433 353600677 748417350 511720295 826356518 234010016 341857664 414636593 920821030 931062804 233583448 321783098 451249643 650598990 349587587 795669309 674794249 584580520 528111679 338168530 827307379 299329659 746809542 154314905 428470988 151452182 661107165 937700046 610787853 774322059 272605286 400848160 104479276 582624711 726867614 239299417 790210554 935652555 587851045 621926978 800649660 642988120 607091986 588157742 131616323 955343553 893623763 640918530 962837932 558924044 311303295 689605713 281234073 971678797 553131763 808677497 861652974 784575888 979004454 271432838 464035038 453507622 286707932 184062129 438565861 304311246 322783080 155691701 775932627 820124398 517918968 811596782 331994898 715679830 806605331 101881543 959737837 673020086 570706837 892796448 453059982 975735328 720617391 905955991 839797798 393256214 383118024 987178802 271191557 817616766 449826027 241431625 379006456 878079643 252984259 376808586 174758597 258042306 333699334 224818905 343684125 641966420 651417773 286441259 221058141 394269130 695784961 143126921 927372841 425112596 360095868 356823323 814087877 476525498 230249475 913641831 857747651 142148534 921224596 818226655 177203916 720065397 170700388 914189617 600638816 624009573 293917301 475947173 969167891 454863280 466455293 987300862 216387044 482032428 535193515 400886902 952903392 612266439 702133964 967478824 955506437 584594365 738592037 448717556 951847667 349887745 198557803 364790740 967760930 873308781 457045089 892258681 772717558 563136206 441524640 875861467 935412046 304887276 676280127 212001373 817132502 498717995 243314645 589259589 323473035 337949483 868449175 261076511 756562479 270024813 410615135 990470101 890222794 854666011 958005749 855467191 181121563 788495040 730078295 288964898 204450917 397511538 310944068 975485761 262172257 735877683 836535692 119637948 398459524 707405727 422392172 870080579 600479477 754000908 335825536 713331519 581538341 528071479 484703437 625555555 884709184 416809064 888343946 904788325 432102396 845035549 766114282 421988400 717083969 644725710 323796271 727810983 758795366 385795593 487206418 350575444 893085457 613807559 448170644 660337914 746558300 528145792 546664068 733939376 746149570 235770196 265083575 345078258 462807496 369972684 175931670 167750599 922955773 642079111 297988071 673396679 128586489 329699891 645347128 196372635 216213913 772114141 865008232 736390653 771122298 881369866 788779806 342838520 882111100 353412296 583452137 776416537 954709337 724508457 495193499 219342717 398315941 233862307 981711624 184217374 879717903 368477473 461704774 955699102 168701399 163417527 134526626 204855090 561865466 579410422 431088610 856779344 620535854 432927453 228648612 667431228 813079725 317574785 641330872 768600164 972317467 225858070 414782808 544760165 564952095 752325338 692026046 620026566 133571938 843061947 813041195 630814596 867001758 146481803 741248215 407216941 694308530 638293130 859506765 312315227 266855753 334624692 989422340 939683634 216007928 342370721 855227709 499443734 831774259 717821446 762720742 660283438 598781449 225009001 503871861 976836124 578491800 579937922 201536897 638784870 236879944 530232806 383004514 467421413 979744741 364004931 433110853 567250532 103919155 272945089 455278724 100907897 109372180 932867222 709920887 941156556 643811982 566824470 342568493 322076648 279036056 255815498 563699539 167485210 713292446 590723316 641737876 566684345 263803453 464589853 353080970 936085237 214480961 612159623 727917112 879016339 404184291 428054317 899682759 608410789 755543822 375233907 413509151 226289152 602203505 187162792 437270133 407129292 936610130 909514119 116684393 978605840 821431540 882938048 588388204 197884017 113515117 259134096 995421240 275537520 479781082 430074658 407958431 392177882 500488607 132716890 775659317 197535861 696102023 544251285 852837631 801391173 855384989 399203384 223918880 807640123 537164677 374238653 161681260 358733913 358927980 558769789 183182383 106720165 811790858 659852682 659917988 162229951 382818842 451819550 903418810 570850377 117967647 591553750 915086792 147646745 760459517 100853505 946011322 956695270 250113153 165854532 196203758 251080016 879199837 303690540 319403235 113754351 798794686 393930042 884640999 745714591 960887002 913231188 392004988 210481434 233723342 747078010 294169334 726421008 583008953 800471326 910052732 830324438 249665277 483603308 590032704 196817745 944484274 644499306 673172834 505120796 776463848 724429223 780828767 777492881 672105221 807778723 536430287 577140695 517365381 879514074 621766715 227200207 608073433 782812187 119755856 105316982 449084481 133041893 828312395 239017160 965063007 174846550 163560134 916615145 547308103 739289008 813600749 274053172 235747413 179849031 287923531 503432959 139675508 494794354 895876298 566633610 596207086 365331379 287702384 495280838 732978464 195098741 644496181 869306880 688773721 394124270 803896115 405526656 884377068 439025871 433442845 965563563 172753160 726840745 169489713 850334644 214473521 634136755 672981242 134439504 551667252 285948076 611847818 893941064 366364097 400079412 523187687 168426165 702963691 459504275 885746062 291229134 162946202 714934831 262362942 878238512 575242235 987987794 397151881 501849327 414649695 791033867 981105882 473465263 737458593 887417887 167834859 862250393 332867465 367108772 818076504 227638691 518445162 787872026 605746216 834956351 636212361 213901549 519814595 965428331 309431877 366110785 747349212 470678811 908805121 618050399 864758138 427359330 974751186 720172129 109398351 920253520 815395173 683649225 573308354 399161687 532940694 870349595 608938772 874452001 259384889 132869225 332019197 561477001 465593293 522726883 258101181 504235563 577346051 134400262 152754615 788239353 686930986 179909752 167926966 641097580 693949351 107197620 479522227 477851340 457109280 993409646 641210246 953006988 179022961 928219770 909114814 367226744 382221752 742779094 568611059 904124110 657924868 530301539 826003018 847977731 825297999 111660128 985340112 331293242 749618417 414332633 888517468 174874457 224568679 779495309 611210155 648590946 805147048 435584878 262755708 142639840 572760870 995365670 211750832 375204823 233008526 694305815 870046888 578023533 503397792 624753412 347617002 899346794 365528587 411135006 334515690 769228245 497854368 463090756 670378337 822976983 199652698 689364734 238374917 260183233 197225634 586535501 203392612 467667292 688986858 885113040 887302322 330689894 567960994 306591989 622590687 993691680 928070878 700028255 843286299 689574646 325856446 191186157 469417840 625769466 621439925 927199247 974491805 907865670 151478542 154336851 819865940 438795913 949508727 378320014 202461037 236426697 486541514 368268753 161601406 743860134 111346468 461009948 230182080 670642744 214043016 546284038 550672533 142256479 444355147 457446213 771396390 869261676 134887238 623618160 712610804 138887426 607254181 156165462 299181068 673884821 981883816 592206287 859991904 490129846 737453016 921186726 496093853 775269614 796194882 747141646 975601051 936197972 592898188 108372138 457621160 749630678 977648686 482135757 348982974 266609331 367167032 880757778 185241157 929852762 325506097 289017556 220259342 555645069 487246624 952730545 689775599 432369380 579895849 645499763 508579151 821416200 706176470 771955918 926072703 611941718 472440280 773037060 262252996 493575605 102326553 811482634 886118830 846629466 128340412 819112967 920112736 173832965 758652638 757944258 937029262 371962401 753300904 839966162 974174217 779317712 700849168 950297845 260807815 901206635 670171703 419497069 286336217 404254373 939357494 560312505 655682165 461847923 734935169 353114852 477864989 843720925 796517222 158401562 338007319 999612743 334344281 698139747 723540498 386337665 271139571 437360186 592899333 771231807 276988032 675983744 196179163 258017530 575437688 778035390 638680452 598223257 809360698 301180576 782717020 473270860 632027054 347243449 802799135 557434313 969735774 400356359 562136253 424621249 536183606 426710352 707578891 652001723 570611207 802624958 221275075 297171149 351390719 473765143 385368577 894799451 448416503 760436536 428150926 849110822 459896086 270343882 853069398 597435819 809375930 771427625 483949542 115218349 808480860 740985558 860229118 863218960 779528623 425798424 390840577 833156387 909854572 652785653 186798856 302066431 794357060 997859181 845980650 591776393 593480771 405951402 766005820 220678526 342681420 754697118 977853067 686963632 347541095 467614228 892945184 627716215 819254442 143998756 430632056 904015113 971410519 373590228 341108532 691002558 957221798 181318955 464339644 197612365 815752010 503548473 415508799 751653606 518621097 138366964 767198671 692033533 953087993 483470647 809409753 210413013 127647885 974588370 416074973 839671283 344466406 456717511 711970889 674785444 904614258 562183084 341554820 335210539 237192033 788953184 362110681 211767886 972231158 534018318 477741923 489506144 898122145 561285124 318407565 385434787 670052930 409958795 659024201 587356878 901573302 436851227 824794583 780783074 682796468 379975200 800333987 354295483 180123861 139188588 334124478 726797431 655503828 541716157 761258314 897079213 181563643 998422657 302743629 525147179 888262897 200042538 616726902 693022860 699742582 466303163 277763000 561519902 762398900 285930526 647399542 817895415 801490269 456652810 397198091 612515805 628036549 178880569 942544387 374435256 799351232 724420838 811424645 734447125 416258207 843364867 340739260 242693092 963269515 955310390 643189729 567868266 206583585 295003703 251764460 736943940 439717841 672659160 884288517 761612174 507792110 870317909 576211182 413317550 207582594 184640194 775383641 689416703 691775816 775989820 913791245 198283977 322077932 538560312 813252466 713914960 965807271 836801865 683905797 245091736 104240305 682958595 570521901 114565883 636884333 348398575 861857155 908652492 909324558 490088403 552117343 699474342 956112907 942828039 792566904 945089133 488414211 878842909 613497125 945862183 257209418 411269423 510796852 374866912 485053152 435176293 485279801 147308688 317263582 962299324 237999512 893414958 249291541 252704271 655701762 769605175 102944181 548170551 731037791 160171639 139392198 618399267 466225776 348198223 184246711 290027631 391936173 379153766 206410198 216795289 923667953 677214686 501296274 654214586 631978214 301633693 600349005 585127686 720140018 112350774 158794668 146931299 265940392 899225865 545101629 189913966 151309870 931838307 832522039 531167289 961320056 250786778 315552867 965719287 481106753 418025794 525728494 796117224 682570176 282467554 640689445 528398971 627703985 594725601 418162872 116478728 236225753 689673877 959482017 775965590 959794031 291306251 386860454 230689127 732165042 676342832 474397279 339504995 335493607 968575326 823861466 506746115 466441566 591444219 439386753 587195992 737171114 964313630 259551706 592670891 731745275 748614518 957389550 775102499 489212286 921578471 549593553 577143067 921238992 883817941 798151549 601450293 996846173 393359215 803647889 341496896 457495823 858430509 551931010 894488723 427173224 298193424 384806632 119690415 619317241 292855040 391343990 460226795 879202616 183107143 428644271 129207557 600713025 749608282 880171539 799862788 241610414 202425477 313816428 357739441 198605934 363907523 972443215 588495079 281870883 719349374 502735813 141108280 229416386 521094322 683480715 453704555 371176607 531910687 578350548 312973649 868290861 800554553 160868141 305684020 944841133 548198216 474797628 508658314 880151982 346059965 188462834 647412129 365613608 208016171 549988708 198295887 627570614 890409369 899506833 698649986 185292636 494940189 233479328 100194076 212749493 770378293 194024266 586417907 217291156 678150215 492772988 611632303 306620631 200366799 100455190 271308846 502065441 522246446 843147651 220331082 714226576 729640686 848049700 600224596 759508600 530738894 329883652 951764061 961019283 998374668 945027820 676379013 138362200 604809770 276259838 948822846 842456741 248935686 983984566 884295252 571272647 345532098 291495206 274638758 553529222 153114616 638301219 752908903 908960065 811589933 142339302 659454079 382159020 462342637 544199765 534460896 307678453 645435025 498168911 845692913 482002474 243878720 507342784 297839106 816746786 414551043 942924111 464368387 518115192 628833306 646989330 954995786 828253333 954925275 796736594 809419390 207388641 505843075 904443335 169266187 818247289 359990211 421843157 782649000 277720042 943378903 421117336 159864425 143942303 743722178 789852422 725503309 375234144 457170229 326144824 671862140 399780414 682730958 467105010 305312866 732672295 538678705 423361628 400135741 829509752 608036267 192450989 161710911 222840631 540524603 552746535 167410814 554906650 308825142 463142035 675146549 707101477 852274677 394208850 321726731 595266058 299114924 404309808 241352678 851270120 899625272 614370677 124034918 668703298 265037512 969459030 755716639 339857607 581560590 660519020 220946325 549750723 968439063 795639741 215329751 838091768 644195034 481563037 559168614 276515641 405582570 505894709 983751103 354035103 446789068 858516209 118374532 820664823 115620389 154129086 449568568 352133131 999897105 172288121 790647598 445431971 328993972 245609341 241268228 951915740 100536340 272322520 202750638 573666589 134747671 462741325 693296371 733006088 742111709 937965987 936904571 834568515 399354238 698411976 405012795 339681762 148645667 183883254 340741838 658421785 743258120 126694965 168868151 423063836 256513919 136759449 312112873 592323198 193783757 711601896 689578509 302334775 865649933 428469441 427655169 380085859 517439018 783829760 341680789 251716881 839272662 558889022 908491030 344533000 255465220 966459723 476727958 471127538 955449408 119182122 328539241 223526412 726306280 111799652 824807970 163988614 571373617 688494289 185450174 172654328 287604015 991499071 995454705 348262518 459522855 999569952 628381572 722830931 369009315 760287878 954410545 332102454 781437919 113343463 125494229 892912387 960307014 740849640 114160102 331441697 856962791 904479200 654493670 556794698 588176378 189116929 526206333 381865988 189948210 763230107 512338414 722469149 563430024 888448202 873506841 480906974 240688391 796140766 141668725 184606419 517359307 565678128 427224743 204337444 915254995 952897064 174328041 494482299 194502753 630925599 160829794 337512057 740088678 878392827 394413257 923088456 969566612 593419601 104111459 449842149 957187630 408209057 794239533 860282256 843648330 719847808 242726848 508171165 115286969 326025326 621393946 207877195 881201920 269635452 412373496 131958532 779925334 632180963 658320391 233855510 290821903 524236307 965069365 741370894 547409034 734073740 638968313 188021415 414915981 517977424 892530353 237188356 220593797 586424410 967254489 145029339 381464926 867559050 600051578 892971674 950799589 517186291 949335691 693324858 481038479 583091575 225653576 269006387 369231164 702761468 740019808 670013950 539542571 902661035 495511765 646466598 987926663 792436872 514909008 140893174 353196991 538687163 569298303 515751691 576408421 629589219 900378144 536071211 970336862 835580480 937515842 291682143 855430900 144857404 864218624 495047915 762630923 886097515 982080085 294856117 608131247 392559608 296895752 608895490 217649852 533119922 964563678 540111049 594500886 224015905 791786208 556324600 894407752 382169497 351556484 596028223 640489967 772606438 369513860 267444771 787527777 541247394 962733820 621545006 415903116 126417926 365065930 852767327 334765585 860704276 111130787 243441152 520169841 445089350 773361179 985417435 752733913 385700554 853610385 732537126 791151628 264834425 660207831 590072010 423561443 496817470 470747356 765810880 407321383 180171483 877760584 100179306 170588745 556705396 742318716 609906636 676112854 964468357 667408774 744764156 957047555 467533050 460974355 632701584 536646387 448854843 510483591 894599080 178177602 867384457 435286318 236641320 832642458 853807488 160215046 210394263 208069559 383286754 171922408 656907751 999176851 693308622 313979909 299202476 267525910 234612477 370135714 957422096 902366780 529261760 859720213 148003179 510615220 245006336 574179255 409632410 286532988 425058989 828652753 888710763 151688102 930834485 436286577 899353508 572233562 847787050 897145275 601654169 318419444 375260119 288011328 825254183 548391686 121049341 137405310 641088471 637242307 180535061 389388243 933410391 579514268 517703340 589892970 680977684 422787619 173475046 922587137 658874805 195129787 909705459 421613892 960724359 260883684 245351133 910790291 412302044 195783186 376816179 411472613 492931056 540617677 335811800 130167395 398226488 113955160 345881347 717979732 437084101 553308056 967104774 991793422 236304697 390554930 181525041 314262960 101816554 652428213 166285563 937278458 643457891 300770010 162640650 808113429 541434895 819316835 138610694 850190530 332768726 245309297 713054389 554381739 257415207 129064710 533488655 470999002 795087764 234310386 662345328 924096169 863742300 105882089 433157416 972341744 968150552 938284224 705213393 408524368 184079847 383669744 183607191 627898848 275783361 211589653 351180236 838752119 477905774 181400204 724982210 387539645 157922361 215960701 495386689 774285846 933610026 835997739 639500264 310854570 912285080 471488356 347182933 538874781 641003245 706208575 119921931 834231470 524426605 200939991 477299791 560944484 754822763 801938837 245908242 978221497 742919728 176489255 799063392 311952926 696464495 194238419 620899533 175082079 436811383 343047704 908863239 390022865 288671787 152775397 850297017 315310794 318282863 684864393 808824682 598302617 144176920 349102693 170985103 426152509 679057122 258055059 588391748 453808767 770319165 665172327 708624886 696019175 718198010 786893191 264320396 847486561 339683645 885012796 483271126 149541102 119084475 303319693 725509593 104160967 132300910 606369861 353361405 597004588 552478314 254712464 141237250 343565419 914221340 763567170 332802669 519779062 703702752 674820126 778779529 679144197 854574449 867498260 278014913 563260184 878818251 586071754 914914933 418740043 489042894 762037183 891901356 169739352 767332582 311711820 984215239 914178259 954469266 151050681 527277594 172426430 506039725 741212905 911394868 342886657 910812506 827506502 603511207 949331702 751947304 134548455 788894826 801136576 437442410 589872491 750148738 860090594 532193934 833293807 201606411 909143261 922866545 156022568 454949522 458678250 856962354 549687489 144363783 796675092 419906849 722991211 997107893 211277866 445259210 399143871 855389115 952400228 865261987 800967163 973351515 754944124 172452745 976819182 554113137 697843137 490760432 335464788 884123807 933958479 875344695 175165382 590952920 381667342 587455883 910718102 237848089 581392779 630800673 352745338 301676683 170504875 427960777 279624495 716609681 874237090 352855591 498107292 131774431 104661890 223870857 256775689 849841482 408329654 689216333 598642673 249830332 370905083 919270618 480322868 401896995 131383375 315858623 431115728 336970987 280617656 869675965 540000064 771139400 802954753 256705578 889914549 267079031 912385194 445065434 902720051 396070657 858009966 315649269 832160186 161869228 921849897 922180669 739668660 716805781 980108992 267430379 337548818 433560259 576369054 725748670 125757980 801034458 444195166 788645626 536817851 903346879 257317705 519340263 768912033 280120134 865978193 277963810 746578515 397292013 272356544 242469783 676898362 988832241 797140418 778685048 331554580 733877364 241084783 547355160 790795003 128149921 338034970 169024734 556451710 880672122 332121469 447291459 654867383 392948955 900592980 626123752 670761953 789729926 298268222 443452823 405125747 258175303 198545415 799895425 622199626 414409261 448682910 752014329 452750765 486927713 363218690 914677525 958373776 775763204 324121816 849561544 986266252 214185177 338281297 266099126 901125492 662542779 135890060 730161926 402772564 673764021 421100085 107546483 661998122 462806683 458940261 774713012 332686044 599554054 561543592 449590528 651924710 962002247 465327012 701480740 682337759 876206811 911359373 426182814 746611781 550033909 372255970 362566027 298888666 531964992 239967996 336377908 177381305 401698723 513765612 455185503 535173915 418359979 268158569 741155847 133808745 769873813 598546396 173544889 779165248 414966184 117432234 508257160 981424466 432483866 468184271 468467452 511025236 279645929 686343729 864267958 681087430 446019094 305369224 298814411 679729673 299949423 813549115 320179535 369384538 821673478 469225472 221557363 153091676 198533333 907843174 291854336 484286810 437715136 237894281 374093454 310233830 955018765 883338696 958514921 519897710 717454890 669984133 952969106 902845322 113675275 740004534 346229666 456174761 197161639 842332814 372305798 598516590 316521281 780851124 961515093 306317462 170329317 703737227 758243794 663732878 442916897 944008443 745505383 710603712 260562085 508053427 836653153 947590779 893238714 580143709 702470463 669167548 190776737 595371210 360245842 336262248 738423139 916888169 169957254 976050518 698810287 426174630 640269629 247711589 445049721 808766758 936341422 892762746 680605802 506492780 750051956 681302647 445899487 127674620 692037135 767178522 902523566 219099898 352953561 847610408 225548440 476991378 801600722 355352222 124514701 562238129 654097632 986893839 253578476 483606237 268082899 173789606 316647599 554880622 861240914 749161359 451810981 212485060 867769869 548201701 677540811 233126337 183533986 481570456 956916576 399660833 417660984 492600834 288201430 159935896 928057918 645638826 239670186 864812020 970767928 147169630 959944450 591927114 319530674 209282319 876176415 544344506 557645601 637701357 340160407 127895585 660797744 678751797 613460996 238294088 928330141 669594896 573521807 842743713 965269540 772512620 613430472 921304371 777084213 910062544 124901775 825947076 224807407 299761191 614197406 369056512 205382398 282126578 285888600 758365728 452884705 648708992 893821483 422165633 360115540 951282042 332055665 467585378 614450672 657133813 432170286 663357632 427637828 311967799 225706019 220454793 933743477 140714480 309363899 844635098 290034981 988406592 141720771 366117346 351101803 557983526 361311040 287918121 556389778 152249357 105139414 709536433 365586795 545473566 901385717 813676708 487489561 236650122 539191048 484765485 403664203 935219426 104691627 755632574 368914993 245132956 686282100 252009493 220168273 906465881 175652745 405111266 778972256 117323137 654395313 881969837 212130974 979491452 700238459 506269404 219827190 809415934 125892644 376700060 975381722 524200310 813898163 524965539 137124554 862678496 202455363 872621999 529768151 484181331 819265463 839142881 529346789 654855365 119978034 427679281 374356772 443098458 384357499 483208396 741550321 699841744 288841830 563513218 408923503 252607989 666642134 835785392 437799744 561501340 635203782 662116311 998540447 475608864 818790002 894869389 711160541 757030926 974211756 635010376 924235861 845271142 957261513 763612972 140563031 125940749 648563864 660330777 733331811 237086387 230041718 175921193 397667883 865887861 265034706 917553192 731987560 326943431 554258309 251389014 167080120 942408847 761705557 769223788 596100887 640061454 582925620 450692695 625349110 200398728 943348310 251382725 986656044 820545195 549750456 437167786 484541839 940269586 991145449 812192634 680848547 555432568 803615162 136220743 651041450 657364616 501140488 907568453 846717615 435183294 516597942 856188429 296008940 977292865 701015293 605808018 671458506 273409846 317667666 688459619 550508705 655913515 258956514 253457426 967469769 831268306 206309933 473080793 597353391 180841940 966027839 375699325 384283305 336414517 218701859 344905832 453730238 749917983 205183530 899874823 257565291 338434959 677563395 246162469 675487701 464933728 412955127 400285919 332154092 663116502 442891934 106123241 943063282 895957819 789785107 911479807 101635824 535382510 617339499 946911368 663484174 989477762 470267135 980476591 859161181 322844656 991619014 541197278 821589448 998061677 226475435 532494911 447325982 899966729 526115820 458475322 808337914 703801997 971396683 725453551 994076460 463079555 218303359 133418976 586569652 749053647 772777306 610542363 659270101 979675552 273527442 962657409 737433381 829774326 342275764 376939736 444028366 473772769 744160928 220578518 986728906 932505014 173547304 566803841 952577670 926247992 523859990 881528415 299698649 385324378 898234772 967752691 873419043 542704734 946232675 758937986 559763305 292547205 444284625 248435384 145185053 746342812 614662676 133476859 610495933 160353547 966986772 717666648 690969018 176789726 835152173 427306980 121928691 611136240 835831819 709480522 919967031 505486749 680683913 417170660 803746314 579237466 804746041 534817394 790156361 767096776 261066717 124302735 142884209 305256405 659411433 628267855 764599781 271029902 931348403 140529432 866484775 581895575 756311741 315006825 617215402 918642548 994530833 687233711 424119753 992289912 394185101 297902434 987883527 777286645 904983022 159029567 736485556 397383646 917874943 470483839 119666887 856923000 465794144 894955407 906202878 511031051 200066067 805542095 209160751 420416569 837398158 365227771 591153247 353779116 118627237 816318617 942538532 612286853 215842564 377052567 457727816 859364123 250732853 711582587 768734774 389037130 121939136 873272927 581758480 898469440 213705662 741757162 167914622 511720402 900102348 195897166 228412433 747224705 120671500 776468195 275356653 770723851 818046416 149603699 203480070 181071932 210937832 742927317 179263248 332999196 579432700 166736374 848668305 485601862 434332074 986657499 637554700 202800310 171039886 996344523 898276604 422768215 770213686 784466443 332787976 401480006 887392856 253006558 826618907 260582819 205340986 704181582 738894316 322904629 876454853 724729236 206179115 897045272 228520809 206072964 303784751 822544169 715470284 667929044 474564020 166019140 180018052 744423125 372016396 752427341 801472322 246370966 927908275 352310394 487917788 844488276 856772822 816320057 280791187 320614717 775459534 190463320 869120065 312816398 296375736 234232390 527189897 304033609 247629531 380011212 928794302 954731303 751544334 825314161 691561815 778659922 505281627 710902697 112057061 138674116 490363787 313691782 392904517 438650559 862000060 273504222 724778962 374554564 413903816 902261684 153178435 848014738 797657103 328293227 898063236 445121884 893553906 831912382 859406512 350029723 331674953 595924824 760497434 740885086 900235346 172715033 551615320 936042388 147406058 982798270 582583292 738595972 744029761 789646034 183076289 244454841 562484094 503200072 223464502 723946442 976709857 789568706 587769275 344266698 729158874 568215297 314421279 979842556 915857020 909092013 333878556 456041224 157045110 164822371 633678555 970000064 907418277 666977940 976012354 926862307 352956740 626384959 558204362 489999861 485836148 120290115 609061033 145576570 183254498 496677664 334978962 289935638 472242913 306491098 847985271 901690842 223685977 319626242 647363072 892366454 546491154 845782917 760454964 738164570 636494219 370849537 517099749 551924397 253393001 932971063 927882466 914287353 100714962 788840844 531950177 532340671 562262454 570682626 307791537 435770626 359454451 321382425 138240505 646636995 840061132 746663907 263027612 131956248 739205730 651687612 952796470 277963753 673963965 351368281 704429294 417722329 904823782 250831303 726831370 694103490 943934296 704389121 583705694 574444741 764229550 738826200 490374346 204143143 484300864 831270335 629780594 344379499 662978507 817994312 676432298 458843193 342137567 596845776 993443950 245382708 712634182 314726861 437970018 387997705 627778334 607279769 548072055 753137522 602719959 845764415 603875116 738008015 979530181 948777541 237800833 782419983 170735206 396986594 907749892 420861319 964714579 761430996 151990426 675281349 561912814 837355821 120770180 666685956 833663217 510176299 148898226 857658859 825728706 529316376 728589068 599283346 151830177 298990535 814476066 764272608 805356094 988184696 650053797 906704972 623991552 140148368 605386702 389168344 860096339 633181254 227919393 396605354 709051083 204551673 435467265 459985512 606261112 926354954 979412321 528563955 985299371 763661906 999857624 810131967 594162433 827079151 551531799 268949373 439276364 964550582 298066801 991845049 879065690 456037195 532377345 825361860 420608913 375518413 580573471 355562503 799256753 569068098 293692225 510356162 426534387 400549566 644723383 808646831 842439983 529175373 605318704 753852920 246292899 422991808 775957783 117613460 157477324 306440202 427200933 808757509 371906122 105623214 729911985 515907866 943694000 936359863 582124227 609905129 498745485 948628220 898713372 504866692 443937990 454851868 919831838 567227664 457132976 486578447 492551743 265439351 741644194 204999637 240838642 512505935 167831679 466274834 592061654 557369389 400633051 635027319 426627326 446997933 287106566 795309840 446636870 454800642 288560440 226072090 868562309 716240707 285687466 859590780 144369714 180844833 855644559 687316690 180190475 339068989 542916614 560801793 338174126 774696209 190281471 718745052 209745902 549112613 450335521 318587055 989264067 574187112 741305032 739171533 524663078 163273211 716884706 814798855 455284934 580975049 992547659 331713073 529429084 768348397 677658778 897051901 223805065 461452915 563910652 122628892 852778403 906421627 216342531 934950833 601787470 784753683 450911786 988236915 959825371 456544203 652439695 478884598 236136431 451191146 577422594 260564591 164495516 328638873 721882206 209239335 584856853 152043462 468780300 529519787 150134133 238623871 878736229 755249306 967091839 665794312 209195161 413397331 127855178 702951769 692191945 338009948 644859355 788101815 375190636 577322058 628542069 304285158 730875475 462615846 836359087 283511052 667056613 196912254 616976079 222634192 576517492 106160456 439903212 421222380 750965017 616318167 439883135 577874428 792820817 994839616 840135907 896905343 562865868 107481154 722353735 313592983 113593731 647540824 222657820 468244649 381807826 688309039 388005510 587640938 535558093 829459964 130414893 186327081 726733651 800477446 915763775 692351038 850672581 287645859 113281710 924189725 788845213 621175351 616738759 496764051 498607584 916142967 103771000 936644331 937620017 624208727 241851551 636831205 113315801 107263413 174684323 988698036 659392763 750076401 368753028 303841129 513035762 816599923 905499772 442925633 838487992 400082613 542167009 113655968 766917122 451015600 950641019 370123663 273322819 497755089 278362566 843580723 158933234 792528255 462213850 428810887 779450954 585382497 920984004 541006343 334597799 654926768 278306627 737571680 611502458 525683052 596926901 638754401 479445946 587417583 808484269 660416966 194672719 908615238 704855184 147980893 576436279 892168991 545325337 437899089 884994648 406876803 724206223 114298344 426490626 800918912 157836430 381822190 637834462 579431654 456322350 504842420 731279109 175091538 667109819 963762687 116887482 105060342 311921912 398423481 143368986 708958034 408152036 138747208 701880401 300838873 800739548 679484688 552209980 450065360 835432189 439585217 274706020 122866053 417013707 753229398 200748959 864517335 991703041 877722058 916608005 396346640 392530349 993153782 945139043 196455148 631447586 637461459 337250151 481600472 186463495 865611289 144281643 374635404 290685590 211667351 695208508 705351646 441503694 959023918 222777760 167558379 969623794 172450754 379513186 493605077 601082884 420824347 882892287 989169091 281112744 452071358 353019922 264290578 804466269 237332133 759106453 515541104 303044185 165865003 191505534 422439528 289998563 178154817 907984656 329369264 932419096 835149857 246387091 607632893 419167718 447172890 980488706 699023838 527070214 810002721 507920258 495730449 967697353 534281198 796784512 708365541 721223837 477344648 555089941 865506014 932186693 398986477 237092768 364554159 559475355 287332402 628238629 227570091 740970757 941796283 177269058 344618375 275121230 904674004 173737721 479985133 533444446 324068487 964867155 982883409 735211833 538067770 829475528 134595883 549704373 872153251 196513172 372312819 541493225 231929442 534538258 453621233 606064715 100031008 915507051 661058888 542796684 909983472 579807095 492337050 953112302 120880609 792157889 154408235 523983574 378943520 599624676 758968283 999466614 375069567 133732318 543373989 385396021 460202900 940980638 852972960 428832408 910275348 978114754 395312136 884677210 861113826 347976213 583829411 749219809 781741233 955110669 560287829 436959628 648116752 846443243 844518005 215260476 127126105 227606060 129915936 500771790 436330534 434424614 305233096 994547704 231623771 823202307 278197023 234016966 591137423 438710575 480614784 789558486 733782023 432861738 139347158 399325550 458429331 242655301 546118777 839489001 922021923 851183297 996755499 146904436 125130311 604236663 413753157 681463956 854235921 282981759 248869935 970907197 778013476 864900250 856096612 258598221 780511086 810327721 825408284 813092202 631161700 900447203 211934727 586092005 927667309 262019772 603349998 657940853 565797152 722095152 362500991 264938345 282396978 192688484 346183053 482111946 645617592 666727689 289959105 413192632 924306707 762405675 803085682 250497843 925131589 895630159 610988033 167951428 775716951 670440658 911531759 467457113 404137250 771694313 161051694 593210252 667469500 420141369 141291320 793663946 664210211 983668489 750088166 133506160 902868351 805013593 586140074 934593444 752544943 712294640 641982751 626006305 313577214 103014166 537597081 884949731 157977520 419906649 735975273 156736189 322440213 773814702 650225076 611838413 775699972 510481349 929331383 482481892 157503011 501106714 197566441 744045705 852922805 523764543 275305055 477361687 327949339 548670802 410297169 995016394 967150363 214348465 434550868 365136743 255820772 190178054 107837599 207572159 551933607 245241716 730559907 908555342 460671355 675587869 338863743 431240291 105642140 325906397 702694075 302572503 606095622 754252973 610336702 818654913 707558741 630007575 797938309 414876264 472053503 205851525 237116651 446518657 962843175 326834300 594972910 301757222 637448739 262503599 963716703 972822511 805773314 222101875 126444771 781688691 256987663 708215613 218424803 860903239 498590069 126869545 144391498 291145923 387404485 595273873 264768214 322369851 887219045 499661680 924622424 924336847 986615351 658170855 790777536 785140702 168249791 811771090 114166718 189536815 853607744 244903937 349440320 147862361 922542505 346429286 158159062 434897282 105884609 472496831 928983682 187793267 752179134 203532573 684105931 325699766 665877393 561086149 540564548 485002679 239508488 943017799 821867023 325321779 949916558 287970702 657915118 157831129 422085625 940200664 807225563 577632080 927343629 946189672 536057633 315955420 226315563 932667383 772717087 461965573 182135076 397076112 898691025 612807584 530239945 138545160 742547335 785067622 252686674 710636277 344248908 946984382 561900030 506481824 455547751 394676833 907840559 821184687 686021780 668130154 374720949 454230096 835777239 815667075 102928494 111168067 897597897 802149530 978655023 302663768 786248295 200029897 946327724 598924082 753903109 646405374 639967067 685750057 139957058 930899713 109233901 297242730 412505522 938966839 763323694 934497391 811343943 256753841 908266913 181722877 106060666 234333408 120921120 375768003 232396928 528741566 381225833 967457673 771158457 351439002 205460537 747051045 514612590 972983500 279750402 486931470 755077077 236687579 901275044 427152560 696644497 448208541 987283108 434478527 445287535 226043540 578657242 155404167 671836160 390900710 395705783 189768534 328111987 246749687 467286554 882085631 730376695 696798612 905329847 161663657 488850260 764960935 532079447 371986671 783533432 142920673 240803988 105013143 599867790 959268744 342994879 347795537 825190110 531532848 640252710 696853002 300196044 491281300 866746573 165869162 842702805 675579951 593364374 975452292 838096908 802181109 890605374 917307680 359144644 246731747 443602634 705466200 665050261 847135565 917466658 408483199 530873618 318662238 552114251 503128234 349783365 329432934 609737225 541853433 439146139 618871162 897851464 468218548 154681186 576388163 374120415 108957793 145364678 389623417 440420760 866734081 792974958 687170131 931659491 512541533 415022328 363151372 895793751 795871977 931001960 914698189 225349877 367356819 628834659 246635619 460077028 672596945 778648472 369497078 551953081 776338806 365819352 234031281 372687073 887020535 249268356 717573054 705092666 884931296 869547693 869170783 134554880 131317341 264763159 349332686 663615242 999269439 662125503 380841344 912231573 995428445 439920454 781069332 867728691 781885196 385030004 210537466 448757659 585023068 717389850 803590554 477365122 508464309 782036664 196979669 784502998 802114433 657823860 630028167 506810473 144864809 768205619 258525124 898692400 769591084 951657279 480533143 407162860 233784216 867443681 829651258 144034674 743512979 317139994 681310520 366700611 636766743 181738763 229247296 617189314 261637197 414565873 212575431 823552602 791512259 426578480 812633006 878853333 325326645 397553023 558537336 318023187 328509684 132214486 127179133 319229218 411975959 314263731 791770250 724896378 775280415 759478366 542078594 997981050 409105416 685699267 414231926 336741919 137942855 111526289 592822134 649557436 304908339 902108630 514077343 429962397 189918424 195233757 482786974 622246431 804747437 182543705 308876822 680496541 256387052 428688355 281888926 112049099 489357798 294508062 742472198 420152415 452175712 710241004 499308696 576304665 409011264 518068343 504478462 209680743 922529419 700950878 363962966 329251556 436488318 450371885 580652228 281400726 810754030 628419204 632137628 767316720 819931114 689196257 356061676 734699997 301022353 143898066 429443527 126245457 234740158 857625792 831206924 879062149 114212801 718705363 578709186 358629588 835398643 438848614 688928229 941038372 781343808 715916041 646960154 236967799 295074327 369174182 965460989 104104676 941595403 874513557 302734366 609608009 647778570 267127681 903764070 510641204 789830558 147576282 199629823 289936087 124207850 911896616 897535442 690346656 432108388 364887420 100695667 849176937 516383503 980429379 838068049 678816810 968110162 957558641 461618656 765586424 297238683 285355320 415852416 888654187 847602741 649459236 489340480 795384663 965147852 144137032 749543478 553400196 772897380 924146806 712209031 815985802 858376581 601411238 986732875 763308410 178371438 859171848 361854248 608299852 224062475 103440927 471385609 379079788 908789621 974912059 486214175 737202603 898483027 236785898 523851988 336819562 135279541 167622174 244300952 709813721 267064643 765825926 599974207 165161281 687881020 855303721 742144167 933449271 191811166 916843219 632614012 509643138 604066819 296042499 244577432 470597267 899896562 645100233 743166630 254260086 875484579 820083770 658959605 227719980 482362966 895667063 454815489 791883847 142240464 530863494 812553602 556858008 360370485 397011128 388679831 270659518 496771398 382262690 581194408 630102013 630676370 507243566 621151286 177732013 972715148 326616219 605618495 706717194 931345170 820259434 361717160 482505266 516725474 565224989 131852320 825767141 737366642 682742951 426212704 491249277 974604658 208147029 373726687 611403567 366108895 568378626 852678962 350250252 583742668 992923912 810076635 137009459 262980841 629594368 474403389 180196776 389384377 995750671 810164687 990694508 143123919 432144877 496117308 292039690 980222241 751472976 791445740 643296107 136046013 247162782 954931973 496033424 286626145 382447972 898007133 612349537 943719242 563524324 828709451 279088972 357409724 314391725 419726053 217178055 520173264 962083277 640122517 125437408 248584698 856840670 259550214 653168719 618406811 537827240 258213723 104636146 627604074 324150158 208112789 605520786 233605642 749671332 313555360 436265254 268585794 727982719 175894514 773271361 471390668 383837592 975694263 997708016 973118025 623022926 885458597 176490422 383702652 639384736 404399345 869624567 254397779 849537085 486170835 536001313 443963933 647969944 559772471 193988595 169237148 551859583 967985955 798745276 996158517 787837459 138881446 674230334 263928853 480801151 244599266 954554102 929168574 192525771 907497204 662464391 194112700 409405141 552930525 779044525 536997972 127950996 865723248 687395862 405601478 597166844 168753743 922608173 525604691 143174739 635558912 796986694 730117203 804323395 901363678 931585964 459502051 129222261 793682099 477961782 995938687 363688549 370501440 100798582 901717568 563573876 575476516 216565373 996352572 947317746 371213429 229471981 606054845 479423320 886785880 577728188 130547801 813545032 122688345 460379812 370445829 712888728 876430101 369433519 877276858 704429058 775491802 711516184 847236436 958739299 382912987 669836751 689934457 467926359 501538181 959496269 218888081 415354279 339224092 392744782 330881817 788180261 846179897 242533954 881246347 892825722 220869335 985786811 785806364 891809373 908262585 631724366 130649558 396087766 536213471 153128779 201225222 509521148 951963667 182027832 293109118 602106723 307782632 927231769 881715386 340310116 838394511 961451595 658030435 461864601 399518212 245983121 102277882 887373918 794535078 152127529 943160982 398998153 791190957 978152554 306966190 469391264 343502237 200925130 181107759 832249754 915852554 467164897 779409901 941415383 520311601 143367348 265368417 396469686 879585233 307812412 294015163 340849734 936491654 238631120 631856679 193632635 146931070 451500553 492241386 247914075 339464869 941024206 537118260 519237434 505225220 482944992 747191444 328118242 569391049 765778948 743398673 141573476 329674592 606508523 930115369 273449356 176640924 412205840 158462864 776245830 617961023 752189504 392995102 360709917 879555511 791488581 731088389 630156788 828907411 181291519 957071792 504132428 457633920 225438962 746678728 912922085 647666777 648327494 510968883 320780074 819272393 838579650 160295129 923623948 483300997 440230687 544903000 388037796 717686001 821795339 292580670 797627588 157418202 490181008 399622736 632337879 445550292 888539941 359192273 991471818 317399819 933516524 441918130 307988779 807030920 173500772 326695318 417601809 960626445 707067720 399275686 465794248 324403121 755493913 496935382 601119745 495723647 880995130 551848631 211018528 586969798 927005364 833267130 175203655 375762115 219030922 802727330 571464230 389486687 990672262 926602246 301365260 846854177 978014773 789522650 768561939 876344289 420843648 586916234 808965943 621047222 691649648 512681763 337018579 939163921 823041982 410648025 789861992 883827440 509277717 727402861 315327833 983132342 325435738 415024561 835931309 913813945 595775608 322706413 963447560 412110015 163161850 746673261 696549812 684123141 824854564 308351432 685656724 622047158 585247006 811839530 970026118 784945097 444954179 168599520 207541233 581115892 735260748 793587053 458068711 399160461 968844044 881383465 830909105 376997085 260452303 168617448 176714434 139517739 336319745 878461187 702243470 743534118 807670868 777575442 592273105 444419406 334168076 785168197 427278332 260789244 608116484 123736265 792172108 302332208 898518182 533479363 723292133 770106467 697675947 261584548 250937371 809003212 886285537 957146263 692579520 695561553 967535332 668732860 690358301 316506308 103595683 405736619 941170794 662229164 376643156 260133615 804310028 911628330 426587442 431509552 533769326 651471436 393983082 981648023 506371016 157250668 333237407 289283473 371647129 919201466 293312437 213785230 703859139 792428217 889382412 327091838 857725918 461472728 729643186 970247934 855821013 466207388 357415372 141155831 382933943 875202226 578136453 407770327 233123948 942194925 633368642 267963909 837546528 303938353 475622996 103322663 322206593 966771881 583614806 910249461 811923730 181478744 744649869 189778361 145648028 298107069 857661757 568399101 749864997 394870346 650303662 868610747 413769133 566677848 549940614 543215219 180788286 488936190 125519240 302082855 768859542 555589638 659953803 740378420 401740729 538544415 552354192 785822582 643154581 362117748 873227843 906478792 811510823 804905566 468364983 956297195 310230628 360528307 484098640 818198274 925186384 766857341 799261633 666752943 513713464 907398963 776737557 287209974 184847500 342275104 716690525 327775836 837897373 124676602 101969203 264602453 517425067 855687794 233922350 924051768 804518957 190037680 574031831 305006911 512795925 584990680 640041806 361695859 108476441 520996101 435866534 852857267 733965470 918719448 825904122 446738570 535784265 701207889 714509461 125387815 107094769 206833102 796596619 427904543 417086417 348703607 762246007 938487555 177932587 539567795 903512087 562386037 651477469 832988915 853095224 795669868 881261687 595601223 704722629 778834331 235581138 522093280 561305371 246563355 746395921 553002308 518481545 652124247 110325799 382530583 629888674 476016077 970067825 539983160 603500149 686479577 557512782 493692665 361857617 386182027 313691267 989735339 883764578 498029915 972711409 691208410 421011806 131579031 486408196 405560104 932279021 238598754 510799284 692724832 684797864 170435611 819384620 248524081 805887975 165089593 913682293 343373757 204349466 633934583 759903366 738447114 922534491 912426499 263054375 508823000 776445523 900776033 757202394 893129556 229258807 292734593 300959659 971072897 119346550 712594367 194794456 940861722 820651910 398398848 318853992 182815154 353272992 704188192 681773107 739009446 476171821 547288542 230431827 609802945 575573939 443000082 230354464 698595310 617700375 970239414 595121855 142384306 179453751 737443364 757395348 415993341 368091880 785493995 332752903 919121881 288452408 478011929 142796644 816439533 735298742 935354501 331916503 588263833 293098852 184466783 525470346 310626408 489584073 563898170 101500238 408202767 780217503 812021234 255108748 355664743 348190510 299142134 490371904 968674043 890099529 705687401 368566971 686801096 115316824 972065631 900950117 785980382 271915648 400928272 290590467 617686873 999990464 136924861 223851445 664408987 469406073 173495708 288019132 858211270 547488125 479901862 999214945 184394350 858843265 247667608 669789289 998414920 594150921 678343980 314295370 751999587 318509086 826805025 296933455 795584672 325314559 581611981 247277039 351895903 269301957 656867472 847514700 743492514 698751523 918055919 982857228 968736202 342154940 670561393 521220343 404837636 726265084 957350581 882729745 350867825 980036575 863470603 997529845 614104936 487377463 740342509 394854385 575476894 504448630 371122184 887668347 504679682 294440049 503516579 767698280 672808540 719268387 640654054 631911980 334679870 145700295 266542649 491684894 116604393 942934624 197758446 347710079 757691982 295547109 962160339 688625668 436544891 864367182 425076049 437472687 282569618 976612602 600124630 262452284 744568081 185622844 837168033 665219167 818680917 657585577 691943449 701578431 621712301 989539264 314083454 329066280 401495539 499709531 458974036 469272219 242982508 205041034 172314525 410655636 883451341 654777749 912149453 346002034 871617958 655799004 881376818 719437034 901514661 446597115 511108692 537073788 390367144 846166501 672609809 587771485 985849471 595033888 861631218 705448562 240683140 433230573 355368885 826606391 626535568 226559039 182034739 471919114 736043703 572849988 368275938 654670466 236240821 831663842 966737033 320957212 714427356 808422480 539612279 383077687 786728536 793082889 665252407 215926976 579694780 108205143 194514371 125549016 840903767 961218565 344780490 680849616 951118819 902509517 566101231 510050036 225883560 647722034 142314339 370599578 846574107 579567116 809789070 967445578 186092896 893599739 906800511 641018856 876212751 438459734 683680971 240340689 521814942 422856852 434722534 786572751 513279327 284930522 874228392 312245835 416940992 499364389 904700597 385705544 428652277 167689084 457925727 645879425 187714796 290451552 389088911 821491964 141769896 222098313 486665880 243565525 575621267 158462822 695657777 651968275 886772126 798653314 789573788 116638491 693705741 962502836 189379130 761862031 535125364 483473877 256913657 431014205 227763555 967870046 589942462 601325304 109184519 786319466 118791297 941030674 108298228 913304614 426131114 270832151 207235663 173302371 718572146 180396541 184534845 536306037 454717717 777948522 266508417 512795555 363468083 891173916 941944505 507649528 338095825 899200990 835799414 414543717 552186205 335251649 883630675 710380332 790207868 882934602 204032225 963370016 265501333 772089466 266178966 815994398 705398580 704110421 935661050 607637402 295030265 857449536 265355053 575032961 988784508 403102907 283126156 894308625 333100385 550558427 421363851 501087182 353178145 622767814 771791897 872790601 701323688 793600880 484475980 766721332 485477044 779382660 292818727 986571605 710788758 778529535 401994745 395836895 609750818 200902315 262191346 183943457 783421982 221377089 873803913 666035663 105423133 971639986 107853738 433101823 361423186 508179543 945986885 601420185 724126889 321821376 235852073 382122759 563697521 949795978 676746495 656868202 411955918 162340560 873545809 271572520 622002583 777913262 977210891 964636644 882315459 502716449 414322358 412176347 849963419 996735268 820445197 753815082 262871691 660886546 481379757 294747031 139978506 577223695 585730931 726304195 605318628 819038097 900410471 172240724 276193026 395203547 538833010 847689029 867012397 165789458 473237838 733612844 626587908 837097967 969384311 574488226 830538551 825186016 491462311 650562148 426997244 309385546 746815789 254438815 994367564 217030457 913889755 708915397 352532373 364054376 830511871 285797695 665085787 822700514 617383841 457225697 900859810 538008082 247248251 333082462 556949001 870650773 107729582 285385118 366942327 532326617 240614475 890470708 252419447 613850327 890389409 784297799 236345387 961955608 947973650 152341568 823907241 842545550 422385695 312367266 469174620 781945563 502073435 554692314 797342451 634569585 410444779 335713184 299878921 769894688 631035279 679765016 808119550 106667752 743884606 670824746 829058620 532078935 703337394 332372978 549900300 261827923 810803011 522356213 102344470 924667328 502509069 262974255 913834680 662480110 806185915 436186312 628604299 908782012 623473650 261673067 676899709 155953148 576306584 379618847 867666214 477496966 590650423 962840558 776296859 785084572 572579861 448598757 304037884 232824275 965891240 156627879 729488501 523335594 230005208 545164894 304569060 921311883 528043405 844353172 625169272 272445819 653322100 989856853 863628288 131814656 744909190 813976620 608321282 956419623 800299680 923420999 434555856 456751798 404699619 446090330 452030483 112594155 904950486 730856861 486087088 310751271 163485634 277180485 388104952 632087720 474326105 358771691 468081232 896394097 646918191 139927659 234970520 886632151 850541978 361317924 563665270 657312008 470939298 227638916 985822676 410888451 155755121 407896844 413652421 966986584 358160530 895410765 863779149 946426305 362473368 768721066 775119591 168411856 240143926 147771622 879303270 188925513 311281208 190195480 273891304 858091355 855589437 759107309 850124439 687319829 891984480 276603285 530091197 314981827 937086127 429644931 899110624 328808355 851678631 705504289 951710131 355788335 843260451 787443018 220875135 397880706 544595089 636403166 517015216 571003377 587836533 602587593 755204084 961188596 213209478 569133150 435212345 861698638 971388463 443391800 256528500 129557071 334925700 532092589 810825205 708333082 294796133 805275273 947638465 545881348 655019449 476139827 536549003 575761614 356676444 657890339 361224861 431229535 991174762 367048880 382160301 723558274 802433948 632685254 913409136 947835720 880452701 490736338 823467923 526598169 284440392 763997086 182478894 435939998 247989503 263767919 794833676 991556395 811724059 454889493 164198733 907120885 342650850 826546746 334315871 966857759 293102354 592294977 446224363 409790324 232358824 629866407 494916114 444456003 445348604 928642593 894744260 392811405 739496264 171329157 901907256 678617053 150168254 423563596 508696868 262229761 370823119 348542470 269601515 635809852 464382070 608698760 946178026 274499721 453430979 262664324 537234256 109187508 716459670 415066102 780918657 915884622 900247906 364069206 961283435 445744066 827029112 718202043 804561051 109456097 146367095 400770111 310902408 894914978 760616079 116652098 511934550 199820683 164585941 656041279 499335522 951465890 817943495 940909814 988965094 909182349 320456795 672675063 438848864 642480557 421267431 813207480 620562028 524352596 441541801 835047993 174033149 491901206 220830560 392997197 277529075 133031411 316173249 420202010 467814373 819975759 864017898 235658885 730111177 111887375 649493441 625492593 943277064 476007833 297558570 191908029 852407243 804785278 287070228 992872606 703807654 884871768 420952074 390842670 550865121 988008960 186566982 809024078 704692983 151442088 202793775 427267853 375353383 355921935 763731654 665551031 642673742 218659098 208679108 270093405 159322490 884001258 230968145 515230404 366856218 773114092 357643871 868406314 330273112 597527541 546423018 418250203 674227809 553463793 988637612 240614762 278631377 985644640 312697561 525522048 256350156 144512006 892680013 339788256 960429581 244582114 125320476 709221949 968838447 296022272 525692499 948548140 236829610 433435250 306538407 807027564 268966799 170155555 640477618 214852188 464381136 776605625 218046925 574603901 776984946 715310396 974548661 857124177 936818269 926787806 820793183 808776598 114550718 503731261 268038285 297511446 359058616 253404669 920640264 694634845 861313772 579088254 699507675 697265669 137342190 736572976 400852241 823123865 303535313 646388643 228013291 847702584 573351760 663698819 295483147 849224407 178926282 543656922 327772854 432765710 897305423 150104685 324509769 539855804 271009022 459396508 851082824 739514026 614998450 152835952 490490153 362095971 918547244 435142868 273631929 927851819 779591451 775066432 971849860 509979428 643227505 628988473 326841041 364060732 883458043 745852680 684869038 174645084 588777738 146791935 722626222 345177074 868168630 385997569 309737935 255724347 360234655 589533485 468503669 882918701 269678322 189087134 478832419 290645371 580982878 211939194 961810744 973334210 429225431 687583009 361701364 118871271 831662462 778165425 508356499 880534777 250721154 770908224 252218129 976432797 609602578 763446292 542808957 913917330 647912194 822332192 997170785 376699153 417645150 339124764 670818587 806981641 620056900 831554669 885217413 353020924 117408544 416935615 787854550 469739629 179015919 698963676 725388303 544280256 411064471 566520795 144874991 352388975 305756030 195832915 342602254 402579684 251599663 828874587 185639111 575571821 553011253 674446132 476506729 213299839 308505183 909321082 971703413 865572258 106147448 379449877 591039416 873806647 537766942 816789650 824737288 288599771 869229518 456844442 827761471 750230923 732214603 605250751 937456747 533358871 471183564 718204553 257699870 217513596 403490370 341161046 360203420 367872346 668214490 359040255 359777596 906147457 333711344 759292774 640977870 545648127 938330323 347202890 965841478 393259603 263202276 332420369 719674449 473960460 537566257 682524770 535790436 200990707 101130335 176206761 156228093 320692273 897990237 938914146 468698298 851970110 121732683 463355659 469082479 207179767 843540797 675777055 934856552 167218170 232742067 210888630 871853980 968943118 894117830 797081499 254412665 942557182 588472096 187825740 616222145 664095744 913164566 763020891 844991868 246976560 953339289 541798864 922086563 182489979 756574205 766108571 413668098 931505687 560443891 842108003 229010090 246614923 876679596 778893899 509169683 875273350 753387719 660580184 374648104 934895294 804002494 408294412 229213007 144432353 246235020 727177228 926550884 455958853 872398314 502660445 646066627 510985501 894700414 448439231 846295850 729811662 371104082 838358017 219804499 510545332 284952499 957098607 121576460 786492003 830567237 450215859 572443619 136041527 662864580 965514250 154543672 358012900 431599269 862314884 211596637 183360810 659746562 124855379 339272247 939339389 313854015 402792200 606859443 161281307 452891863 565062306 533047987 652180650 862615621 849555202 925516427 171326244 656453974 699339052 776657733 273160016 123951369 327752771 821865666 599358714 192730794 903506113 359936784 162753368 662947120 325979025 786253256 420568119 890047880 680135395 321182680 369478349 251734515 766085454 350164487 246250800 214302542 996284379 913299367 198652165 530943064 753431876 322870815 323919065 340502521 152800435 132458370 818299036 766343662 762887696 221700073 770924627 899601208 371912004 399357536 897582487 866071505 928223914 993714925 997167625 176317989 937637527 132777900 743011510 631546755 561867858 679499526 329130219 616607375 259705494 698108889 475235134 793985682 935376443 717288296 944706970 146300388 763374284 210776633 865287218 167235113 241563597 591218369 580595818 253877789 251075604 863449527 446952389 433090220 863388801 465754090 266167088 753592496 323100050 360265004 769481381 809133569 595922101 399550850 847098819 531025290 686625932 318232925 181070309 130103680 635978227 536238440 301919858 982861706 323255535 593347643 698359565 330715034 132509449 346562463 932125385 348136537 405955032 424792208 515890701 663360042 530723410 940022062 504945778 967126540 102988261 968683515 580608190 267564001 239070240 904340782 297158053 502566548 947020172 960087155 460907108 363504844 696057529 512619087 679841050 420433472 190679435 171496421 780680059 467064049 692225718 131591681 286526787 445147335 513891498 880936436 578410053 770281541 483432416 843019603 943054125 421512338 434639345 796687682 174260617 390306678 122106494 527142629 888613077 279962792 549150304 301035048 955930967 662072303 324024382 167839160 455494283 245833677 383544210 979464773 686008942 104749391 875980661 531927308 941383069 555238881 827454527 169574862 994294327 939731079 813927008 950955007 599028623 225310437 252936273 535656798 963683671 990186388 725599808 884456870 820842736 633029025 152473733 774819719 938487023 489002109 824607918 564552847 931713266 123522884 976738932 441786130 989856448 862859309 510221869 774777628 781537247 146811394 271986917 765933707 658234396 849962898 189251148 671135299 488786896 736237622 146441936 909728766 904747273 753841092 847384908 284461885 930720923 798894341 859092530 853770813 755497082 113074104 756177134 888262512 494900406 441226327 586050176 627469506 955029986 582602445 890752637 121227626 337921300 792956904 508477406 913866992 229434319 868822885 432924441 465971332 611766104 207000717 226696734 894445860 142519119 143137294 696195019 326000541 771589130 764861174 589907642 683968041 885691821 943988819 535032957 378298026 913970462 290410107 703473370 191615393 341815638 106953655 318390014 506397758 110328499 281245722 290018229 195607605 149348263 589574513 933580831 636746670 870109657 822320443 325209769 412712140 417556701 528458560 235092441 253949311 869917497 558827345 659767564 281443130 863623145 370933226 777980280 578397710 681808589 267711972 223758799 121812492 509349699 395952198 377359742 838767207 507214621 169309088 320371304 613737005 196100835 402500173 571002782 649900876 292035437 277339149 811980456 963854032 189971643 702841322 579407742 882642174 229889797 998396250 249316078 161484922 238475789 763038079 884964666 781305879 857230180 556143745 273487687 791021591 155270199 436194401 993363335 450326011 526307252 493799914 110076403 228739171 471202037 222563055 593361171 323552916 692486745 547595444 227790740 517676382 529897371 619569883 359574935 217113838 904436382 399573004 373206852 968967222 606188869 760648445 407157329 445981560 302231926 877774410 231859262 969469559 799335289 728590626 653536727 338160844 152843287 375199447 905170477 997954133 109399445 430839657 392850314 556062639 383680582 536786783 607410012 607091517 536071847 296973037 449239493 952086332 690479976 206048572 608934988 543331744 691529660 298666385 730040731 989114441 832814514 193483983 117504317 751543960 253997245 638191660 773003391 108471368 443309582 646182619 422716096 577454063 685174604 594771276 293442170 518412607 731174775 601422280 632744397 303524366 171671671 960325544 762596252 717649535 560810023 736677684 542919945 898516818 384144793 374936141 103088622 858519099 318627046 521897539 104965802 669266441 325496672 681119963 177226334 412674408 764391008 940124024 159040549 623766993 221392646 484782376 417935855 938955106 363967379 833841701 493271479 511542370 745288178 723759397 156984478 718958333 485317755 855096690 653216981 675120404 859693153 929018671 476354704 988596269 490451583 141516761 122026689 419159906 758447237 232609855 996856114 542196287 712388960 572168040 334127141 679551717 809793746 679084553 705980152 470979825 943383729 749261620 426845978 323680876 853373634 703448953 658842643 759404633 578794377 790413920 456425796 914569848 913618873 817565762 694474819 986170171 894803089 583664705 689452752 298607266 721482337 444107588 576870391 626593525 446310983 212287278 445597554 389970740 470795552 471332542 146997129 995690348 733640403 717264773 112608926 653056526 732922442 795315209 315904331 921025072 349231049 640576597 850068249 978710967 344677589 689586391 862725626 235550630 300687746 160983444 741904586 680390664 972320079 372268093 650842218 924891855 449928630 579871440 822442337 723666201 336754826 145581344 439668883 473471147 952879638 673660358 124236441 352936254 494954988 881975668 905399873 887323637 545267669 759312135 796250489 753348331 422835335 687810106 273223899 183167855 105732547 625499279 765025357 892864708 984497341 908874985 524467165 319400445 872654310 686140622 668112125 696920048 150174817 207204411 754752633 572476509 131766514 547666911 350390127 682678280 355166650 849984054 397043901 373979031 161476659 739813111 387025513 483480859 430155439 693685070 667055558 283345108 497998625 786606071 802734602 780500640 211331677 845038837 939838238 877204065 984987048 301669270 265024102 817038988 205081212 985015167 262370358 646640468 955561018 371117579 532042003 394727173 879001592 735938773 802324376 435842928 235412616 964349260 365562451 699251124 870161647 767146384 989191318 974070631 716367579 963748338 109862990 616633504 838545169 697663869 954245076 723873903 468990191 697596930 921959704 605788427 705694071 946261338 289719129 195609664 804485750 618363445 544143127 316101857 328979285 896050578 556517912 222461485 113737487 479089584 630290896 429049264 308697585 994745477 193631909 623496548 163884447 555978865 771889227 176449411 594445915 894225953 923099806 485931964 473387767 298780301 694395432 110203485 220623711 244866583 208547963 417994017 158667670 112823771 424883964 717914870 755511575 316573168 472185788 333444460 609734781 165846036 954168824 812741850 789525154 278166126 250651665 349902099 506548974 772886949 625278218 336912777 179567037 986419361 567468263 847884377 909047461 471223587 454032245 563252749 747301592 188375933 781600183 321321885 143089627 119217258 863498784 674728681 919415062 829114126 423566958 698523524 960571892 726135324 179110911 706988567 199621299 875042953 212408305 815864616 354084644 644866568 536230074 829550695 937789074 125972420 677154113 321051884 753677829 814289665 494055683 749659681 873209752 812563510 948466254 976393807 512373825 343078740 465580706 189606297 419159683 840093287 434199950 960363114 205671370 147163644 499578606 624837181 183573848 991783907 660098791 991660389 872303550 817613101 984963590 440829061 345268408 942715905 513154256 543242506 441552339 375671653 173751616 131309977 978672001 830902164 154272987 643538346 780662664 928472035 349471630 699111363 865709031 447156741 295719118 352241066 266104943 276926141 204680501 498400875 353069588 979721130 428104877 692828666 863471159 170932401 815748888 778932010 269116566 711059502 118430687 796429223 480173358 384314651 196324645 947952544 298055934 841368298 707618328 688605525 184270526 133446162 147909301 208074775 732277458 986111015 526482848 988369352 155915547 825492659 259107378 102152526 728831337 484218458 175586288 307517841 406589242 286494574 743699423 132152859 370323709 230338397 835114626 550990775 164810329 619267202 788393398 498415532 247378264 591835351 190609609 625523352 974379426 550256722 276598667 728343851 933377376 809730423 353938288 288770441 640554783 689708057 441302948 597050594 707843497 455094682 894702413 307683341 880776833 757680698 300121318 934193650 633344739 635580545 228896600 466711835 240907040 979411381 364612167 283193008 435905973 837555112 115695280 345011693 523460649 376515626 813727268 199177051 806773463 475401819 964287199 943985611 480402064 713767395 659699905 546046181 572338359 920966649 932981454 784597879 543958084 620583117 933923258 409037347 996564020 177404361 317022231 262214783 862434272 932155994 666455652 135638680 708133548 742705382 208161937 664172364 848238716 844751664 517383770 152736077 997213271 661538588 487605210 824126945 740354877 142255772 583857112 435700398 979907005 597771167 709329358 175596356 134111547 311846195 204261049 190027794 177575008 438168102 628736999 554741647 530236590 609155932 649349104 140115246 579721948 943630230 824184274 962990226 378506374 647816968 747712720 802704956 635626919 939678377 108349062 404427040 499222033 837662698 626669258 852632313 249977092 718817308 346813777 160328019 613832134 749366950 624487383 865567638 799437997 382497029 149205881 519869862 571341560 529769770 666021220 591904484 976443979 817813717 362038470 808211350 448268292 957179601 663376514 714088608 463568261 124646152 826038553 553334449 471757036 413640497 690574725 167430177 876055450 133691775 873225476 775157761 650723324 309817748 419218033 127668291 997308799 529995148 577203601 624736974 353246057 593747263 820683519 143274654 923204869 626263084 970812953 644998626 782830154 137915200 142983910 909961922 466671306 784258577 601441631 894118068 513368019 373098408 789677522 397203814 778456791 658092653 732905729 816828659 380887405 392669429 498549925 206379894 864899392 814635224 273340743 684625053 508591916 805413174 716328544 959460950 355069576 133158968 760097267 252585570 366258713 158037218 490791707 168055877 226632617 758841919 745551240 838329016 387096095 368203922 614982918 308523608 253776126 288182294 277968545 266102973 802137620 990502587 653011324 349363252 763761631 766056043 495245479 840376705 765752929 629501795 940684887 289968500 832272643 627758352 671884478 271133465 377694901 646926214 273680261 120572557 432159210 523264365 432442806 609000090 260637560 446586072 453764863 802381917 938409131 651246793 469336418 647233378 233181924 289263225 508851624 512505313 104250608 207312737 318248458 226247464 671132812 802243502 838374161 969120966 830665769 184755337 371232276 323358762 879393612 535682065 149740518 975907382 458492180 700694993 959157897 492758580 283737054 226085503 457556135 849706006 302692184 691332528 835765441 267527803 475912648 903793979 395073481 978272879 526989811 998190573 961324846 847671206 833370430 176308128 203001794 243172237 163761220 776844916 426329436 747525995 615806999 322065871 509079690 135141626 734163291 465247153 681823896 966855872 237914546 382045154 950247782 457391174 332974188 281922147 332241708 735733273 985758745 385876991 277766039 416858062 437991711 115479458 298816852 580134509 323129240 800071254 565614696 941384999 175834443 779651890 680927449 669097497 182219656 884585559 553561087 962235029 296081290 656939995 615494556 457892359 918541798 820480934 925926127 244424765 278461379 315877593 372640329 240759351 199095881 687583699 398520199 134378854 906046773 802523003 830567091 172931346 952182081 566110383 106994936 512858452 381820104 322699575 775494374 333753750 244788480 921071679 721408608 573353902 559419846 596784956 681438157 611109572 777957245 948372919 995753976 630050978 937595617 637044364 398214678 549859090 693560711 977903237 329242083 397969893 937002653 697963379 327390169 546834885 433665183 259826091 572007191 589442822 274032928 340835660 363837781 883250085 948336449 261138989 984699726 129572257 159507096 538877605 561334278 854497199 923466321 129360223 266403023 719610892 820723556 516675800 752141092 237374782 716187195 476999029 671409703 532830214 510311806 676704863 184107064 500606691 573229217 193566316 993160400 732283093 901499695 376353720 490067294 996645707 727053299 690113032 296478491 673495157 466281733 771588562 163490238 767735810 822051393 344693012 336535915 800395012 612137118 642021163 442149690 397290804 342240973 510820675 574931226 358581998 406015457 820921221 982492529 361373306 820707795 959930803 602300181 770296208 686019250 380064560 542824177 432788178 208459158 547496645 725478335 999828139 558756486 718879363 227813845 902112569 966973281 906387504 667550919 426003395 370249820 101989610 341435177 818476309 426518380 554322891 375285629 896733144 138536689 240162172 196637401 506582976 253481285 619775297 979683442 634271704 893806772 605209039 399669940 754066630 429864167 721426521 789616839 220716931 809627352 147252322 312986392 528130563 811197544 854133180 390855634 699755097 955610839 681596712 704790719 215412674 857597001 434825090 518239401 263221531 775976686 476764023 348485624 465257698 745720625 617532514 311790889 122989626 270482062 482639640 723578447 465864383 959431082 320074823 705888726 590573608 188408807 544657374 559172889 875205954 290558351 884371645 939829898 512129899 688441983 665104231 127256229 889917467 265320206 558230844 957074927 831785774 841710709 568218641 910541523 277457101 507837157 524226720 662910163 107751656 573932039 310049985 230209870 515076563 355651082 271864679 401728951 554317315 920852065 922758620 827146168 536637945 509889544 872816267 345554176 936244021 209503040 324985043 176552932 435882614 209173599 226382517 645486919 561711012 408071912 539863648 311007680 500213805 315814173 300089939 548495361 648099882 903540087 589926592 211844540 786546533 760488320 382123075 682381493 359479995 826583009 644266902 927248045 368218546 511178106 924388104 449744701 139302584 811362142 701800734 650152249 526610808 204321004 495755177 337188485 114281270 126663672 691966052 725224245 708882984 402285891 877533427 219847449 651879264 491584317 613396279 493488413 920988105 399943120 306608279 218201970 158327007 731225221 957026621 352754490 452491977 800782625 450091767 857421051 929604971 166687166 371511149 310464886 802454705 601871712 417319742 564812501 371285559 632934535 776588075 948232859 672055752 141578193 484183809 290976855 990507524 945564202 424865996 666146098 207492335 841518671 790310094 347704290 776048877 351333152 693807079 164169152 308255569 412105159 735879628 899109928 101369504 709116961 315635985 838356912 610481256 754873364 429362789 308118867 133994416 509341835 689676060 439397071 711399872 439307705 761155586 309388304 651250381 605572424 800488119 697460407 425133383 706850500 703370631 348562577 220391804 957291124 109520652 978873537 142376073 206919924 569128531 833490433 482841889 905744058 849405729 301334233 991007852 501234229 421787014 369065732 407163286 296960197 677773154 631719751 724666658 659263591 469786577 573981062 634738283 774976708 765505046 551888098 681595404 113626142 819043170 736029379 975739188 929153307 597636782 596131092 713170459 841875308 412608767 342171775 160639650 728269879 313256645 709014905 528435132 427814723 629280437 124469728 929031040 286563214 949512817 225687516 558728458 669613615 498320488 877915713 606792763 361069524 552933062 540874864 592385051 723892471 500765747 215331284 598370244 323849210 235564206 517659881 861741984 144210119 222375272 989699197 513111843 523209261 968030946 721547837 748674267 514989376 656835091 369678386 301443454 817412018 185784819 661834667 639896452 462375548 685265008 326165003 638582515 589548723 632174914 847238062 905086482 953778260 410765155 137824611 536630289 934853807 568491018 293216390 241135602 350813876 555862495 370659616 289317060 252777345 727182337 680747289 840509760 185568168 263676536 654230887 381868256 992774265 350879352 996258641 947407028 803131409 865986636 545429846 548833225 244341522 952156653 564173214 237486463 745485158 502512644 566587795 218302637 759043615 880379325 947026631 116374728 586221238 132038114 158796410 283093703 818597168 531396469 796756726 200698782 898205686 261241326 161108836 263119454 646138770 304931216 925988210 303782685 690078930 269802181 789247069 781867639 896457025 623443266 880854968 873212517 233195783 717737973 757336346 820479237 733481478 316963919 606270974 735080863 847792398 503820053 748732956 959333219 461499156 781999033 532686371 185979122 277017340 492800038 823091907 809186864 698620183 630987784 912171003 228160144 801744952 523834740 340971347 937094947 729438321 660649300 846956542 638917132 879386830 130836219 973715588 750697296 174731421 109352215 887979820 143334714 409319956 953908050 135732544 390820552 213900445 975663943 122299043 419386753 291370307 895856384 983357676 977599792 897210936 176923208 327473892 864634727 365376075 543547956 717303558 944296333 604269690 857520925 890924114 703845556 391136313 386492901 189449519 771066646 205228610 513046257 156611615 851335185 722033669 440036279 787967585 225217956 269380687 960607298 758854693 116274505 392433807 804179266 760307625 323059455 262192553 692544367 577369155 565058479 990280160 779662817 485644614 702830379 230195134 383226450 522003420 514380657 983977910 460490962 738934570 386816767 703009023 736924769 792297582 510855548 667530834 726105945 824001326 869200666 871116054 912482445 370256376 894559287 172489807 134262363 152735123 846590232 736179262 363019045 691349344 659270247 442075407 673390889 209088040 606142638 466057110 181498875 876055368 841659606 964459133 217816127 939968188 593210005 545555223 970198896 541907136 835159164 957955312 963869415 849379203 903489602 309373109 295956051 940369237 198363066 753811251 736580212 572454321 802203936 669512773 933538783 918224178 832412195 353523345 666121308 488533085 677839681 768229704 751379383 214927610 169998633 144394823 389288248 867505287 126581444 695957548 687056432 491876427 954745433 702823483 301177463 561274954 217386197 128494252 103373359 190401747 629216649 268829813 952954600 954572900 310472705 199574196 184632741 961903552 829285777 658067351 689955032 270923812 300505151 644662132 740224110 727979360 616591655 769545431 535624587 817196892 818186197 637043866 597578549 553399652 637292943 840324740 286171930 274567659 621050584 224042194 650083318 365345127 303826565 218091654 840368916 874950785 491881348 294293150 488229359 422437709 660761441 537895442 313446510 765372944 121505499 408293525 812004545 986186014 821514421 192783102 149960933 625965491 520003669 789737869 458619294 965902741 710831490 636621883 854953233 547067585 141730966 602113334 459600769 583157484 691037781 914747319 593732326 834106794 700181663 986891521 856980956 980647434 267424035 902046946 101492805 838957848 615555096 527543612 119734573 528915238 356155161 425655319 117608417 751844360 522629657 894062598 855367455 953518317 557319117 742764051 356352747 246680615 734462422 209056171 386095982 217373081 380491728 937025889 354623427 469295235 371668639 366687798 449172571 708519073 573277748 773257061 828124486 236774024 659499991 421613193 984285183 675769079 934175298 200283014 981067474 192274724 489943472 774040296 321088924 862308442 850186031 325009096 817091808 182016204 164301217 591510919 899906239 358253253 637064830 585966278 765874691 115527207 596840223 545239656 639379959 955037297 823779071 747035761 654247387 370320706 941003130 447029513 489696855 655999399 209048945 241880760 498958927 235927536 635114348 748165956 634989249 302367686 129260708 720910788 212674192 451000369 693062621 261805769 253418377 410144402 295416306 596005694 277938435 673832722 241433485 271109268 290804499 555000723 868634928 439353751 978040158 735276144 786032886 432482168 468928344 677333800 514116813 900009751 553677309 628772186 185536882 515541076 474529922 779663766 863549414 865434205 343059428 760215664 358800699 760751021 150379199 696066558 823389047 940383000 111258497 707959852 467308411 134887146 698013126 779553659 657196288 426793092 418078122 282030570 196264626 547139004 932119840 680205201 386114972 140125751 567682596 356920256 494515291 761386556 708607635 729178259 698621075 726086375 494592926 811120811 208666238 232275036 227225533 229835766 662677523 497159024 353297019 181614876 663522056 878475861 590295215 805942616 335628184 706199936 776550767 399712423 240891394 475017457 686467634 388725124 794337611 745738897 943727454 173059306 161209247 148236590 159209747 893665638 762402989 899938487 859870599 780232084 507102893 402142222 798710994 469876681 649589310 105395907 758512761 983079493 380032261 227555614 315489909 401697618 341477598 172818628 166576912 592202907 148282199 521283932 728432601 290902535 798291705 908759084 820307582 157264433 447323415 388024476 565500352 594400633 129664679 644926379 256652811 359599661 633404079 601059343 186630773 803034380 601456264 580778267 150869490 319434773 799859214 242853137 282501612 943989576 459756090 427239674 437815549 956303784 148568682 246712876 798117591 845048986 514466409 283284905 419199866 872148411 569988382 891490311 285011186 345991952 440534037 143921976 782608559 144399400 861991075 224742563 989409382 211861062 788548859 700885725 540015494 515942776 730149804 229300456 845476711 991091144 600131363 877594313 553005042 992254665 321112097 606560088 850142519 134761857 642965755 169336946 773847809 728257061 206007093 232856403 526328883 116238500 745676074 926694604 551705223 364070009 857691715 303143865 155393583 760428725 894121264 704513388 552885143 708790599 240213288 374483852 662619751 805941084 175795746 112753423 565901896 602480527 958046528 658234232 135939817 595909221 468780770 772782485 467183670 863279875 525069512 925645702 171242441 156866947 132119960 457244602 662471488 941188470 343575389 924186063 297806578 100774456 414243737 711447109 457288803 442471140 199880880 888070935 509463349 270244476 671041247 116488882 763694066 293146648 985756608 569946465 322301586 916979525 670569532 958146312 154532296 967909950 660249993 536159768 376785334 138950640 613005926 469382864 578955244 124608057 468313679 678829253 202543663 262920096 627186891 264423317 496169425 603237719 308678554 173587213 214799018 333649518 396067547 488444017 454655744 106655195 984229424 503622672 727178109 152825056 340957053 676338324 570887612 489868748 291997920 339515770 164809046 517773069 849205313 469888822 783162141 881284533 332229161 292593055 690421643 764072049 713357483 520986214 948422263 225447183 503065165 548061732 342126807 579000546 949075455 850884568 865615686 169320256 117871416 528558364 422677987 318499028 708512104 203092450 615456133 228367228 811324185 165698387 798135399 291508955 236312956 260194406 475318600 473129153 118125031 953246742 919116056 672651674 176212328 601682880 105790819 536183013 736480722 636688988 855854435 176896940 426606253 445231840 732267028 291667324 272236605 280270443 353867167 507206019 506794800 588825935 572030733 802452747 129304762 273072621 840937413 397431671 272010520 848404893 743409347 701639120 510023006 794183091 248541935 157828826 537856278 497744824 569741251 683730115 844321989 441698593 930288163 926985171 308044172 446600885 591253503 623141894 389149962 462562156 527020354 533739911 470066803 853640614 386223263 259842082 284081668 501746597 895832524 928808130 720927178 402004844 427762571 667274785 946878303 193491655 402501939 196945268 652168896 696497230 610505676 906635238 718132327 228853133 268913528 495418715 305114345 756027179 146041942 373266012 434080783 462604998 224113559 354435185 580584065 890685260 437789415 637857951 443809307 986619810 713487464 843826643 237911132 459152717 810368892 814816332 355213103 334824106 594110206 805266776 699953553 288214785 194978543 749738665 607807105 796345259 816839538 521270548 466166714 844097990 999719063 743937845 428888377 272685622 342704651 593129050 999984877 875905588 522445161 495568834 880704650 104986983 510306876 299213958 363059122 905347796 577510292 340135701 508313139 401784178 534735717 357778440 172693575 565918487 783366597 890218441 929909434 724864026 289418583 698561208 307444510 834316198 376672649 835041211 854873292 978222835 435562015 780894169 460020262 800023463 389788382 283266387 682856451 300001140 653977717 810692766 903102247 615369940 932341270 188158549 930144803 302039534 203240635 484810884 943264022 471489567 640784558 848616789 304378305 914294889 530810739 598595131 149942092 891998606 188339111 230625048 516544976 543082980 106353793 315650357 595798759 364391334 545972376 833418386 904314438 145753265 180431638 470298046 627261202 133077863 886610961 242259861 595639125 155476447 723103395 539201996 622900281 870929499 858719228 829955034 256985897 166359969 588346947 899283952 516924372 834005862 545168656 251808172 910547115 385153845 525692392 762461368 610250199 747474170 224201417 600775601 859799544 758669105 320099956 118102551 510648627 918731003 175522479 273001881 152882988 498907056 658444597 633764209 649008820 281545643 223608990 125897158 796756272 491471205 956721422 551574654 592916334 621570415 835192767 187526891 553370606 588026138 137238535 964676234 426298767 123911211 385126080 790931394 743394299 473103148 629148426 121549679 401407985 855952181 543696098 563108091 950046550 673874652 845783669 498353389 224283137 324702735 969329889 648831165 332417735 913080842 758213272 765057887 499090770 344414000 676699948 274980989 756137328 741687836 737691090 971290955 952529344 619407969 819436404 499602863 639176908 787238146 518109901 191747099 616443849 632377078 641000820 195459240 261504095 806923623 959042781 733259958 435913327 882101721 653462860 795295489 820728356 745064555 472883844 216281800 796072291 484105573 607594853 938867368 941798805 727140761 869372385 727232770 295825123 595672074 162252275 564075792 392993242 749093914 827310419 353460442 512867259 757031721 667807000 162897129 241925858 651661468 962260057 602709307 138516504 799307219 286993953 263814543 455763930 925165143 268022363 550561558 793450946 837337400 511009118 766820753 465286412 831382995 300567434 578590165 709934980 771977679 715874872 882327533 979697906 619902662 241506796 153719185 987556159 711611416 909222853 147679755 228715226 588056511 760221612 263438775 946181982 821446628 381488383 515570616 331238558 272971037 722207502 911249731 921941090 518818430 604633070 802527234 371797443 303830063 662300570 391613490 110488770 348084785 744018762 549778085 462859950 303133983 902542532 983340001 578070768 468961313 102057296 647585776 946876543 633854773 650448522 801214244 442566086 410732657 296167057 863944517 822005384 857862724 774058133 788464201 773916987 511714780 317856198 235060540 251448032 318171114 748079265 870665414 915777477 165339077 275535587 485347053 641523714 773367453 633324581 703707242 999820667 186994690 361269239 101489762 181982294 439571208 183068551 419871687 933778727 577855952 934780983 238695658 418935433 182980525 555634081 693303543 346101651 589848213 490438045 357969174 180881711 236899293 931266163 133129720 489686567 383094316 486679387 735630790 803679268 125897345 567855581 364842974 887313899 953961076 379127526 670898517 592451299 862399422 536863607 323577033 803046368 257344593 106206525 727453813 550231138 256624338 341913107 730258564 129326475 565481598 339555834 231448295 612801893 148031817 522560390 118022580 704607822 824265156 383496887 673517615 748585936 503604387 786101767 169417279 851005992 764090432 598157161 624815760 345662925 860754016 381895975 135714564 903932318 107835261 822522374 930560006 738060024 492898932 771471222 705454090 675280549 639435454 403420331 448737751 949777522 223781910 796331924 481758414 595541182 849471345 736797594 421670067 700008517 670620947 776975964 265205845 592659292 405123798 976971650 860437058 290699836 416650663 899270767 532721054 817654727 176641078 488598493 130853162 414109287 920343497 920396977 182061023 360657849 499173061 130831997 375131271 913195843 319295401 327146350 144467297 735449676 168087808 515320060 958927354 270703827 149717095 656527986 774597543 525760460 959193081 483000657 353888609 664992192 689914724 623281920 247803980 224274686 320979333 489381440 481883235 510999557 538008802 810429181 219183271 896545912 784940345 899982706 298029188 570947943 236005970 580798215 483006314 142864330 701497720 258308630 905427289 396613480 326888286 293697818 802975868 564092244 358531419 643950462 398397985 974847618 568102543 935185375 540453514 253402125 271713602 393855210 225369911 172878823 408539720 815167798 759367416 237939463 132319643 752956865 102800609 403726492 215688436 654388584 943151064 929276409 198825882 782690432 540554054 508760827 484911264 826604659 534477459 592926956 351850254 869624796 625939732 639702054 467628465 254569097 230805878 701504010 910390161 901139658 497168892 814639094 551859036 806195132 652042112 560931988 490320699 571516961 703431534 627606522 522043480 256844090 662077030 796748968 973825698 701395392 418804785 106502842 370325100 878584077 198909310 606068602 598033168 834407273 236066924 986922126 761931283 360667479 808690776 398910926 438461700 410424952 500638773 780559215 442556442 627788423 582115156 886224413 736869520 137593944 843201169 728944354 788253992 195114597 347600323 602685409 346601822 410052996 196600183 975646664 372353535 311706873 107042722 358871745 849235096 399808466 473464947 132908965 209765642 391042266 591578895 634059352 802372639 229840180 209475984 253543845 996960244 660993169 701898913 557419751 101106352 781531541 549013694 184303351 696192114 277999053 521615610 792320600 538234613 466054210 564352294 782181712 639486874 787761217 151656411 280370000 445679238 115976107 682672827 265933814 229111761 752482136 191843144 831389375 303393911 221950490 199195977 349820961 717400134 314160082 667871436 666909467 247475737 595281416 428144930 668188456 191877979 780588304 495407211 383692318 292721347 869112458 118741053 352789585 527759182 195405393 325354653 880651120 130155076 180296846 223243660 113246778 589788983 393317529 349892018 521707070 953452911 938238135 179061352 419218485 747880083 539346348 723001044 603146138 326319375 893090581 891552132 437294088 276653525 793834220 308880045 974519939 996791646 589549570 289300459 523309236 552631194 917008389 863872911 927307632 573083599 521430639 734980254 419229124 766408936 473609664 934282105 697573704 900792641 430850550 707262359 542239463 695555250 478661267 407518174 340851973 173136365 343248006 823178917 880124365 145526585 918085694 464783335 664782518 746838299 891872949 563023062 978059974 961704832 451872989 675163951 670188254 482708843 773459528 677433367 695125719 110132017 662279507 995907505 518969127 938506426 637857379 896156955 691556931 397950195 378389323 386184936 222417364 555246429 602083957 581133369 219470482 340738061 386291663 200415997 425990839 122612585 643280073 951656695 198755535 372611045 120306173 704735669 350521946 623229051 654440431 459558996 178546388 387625493 985586567 804865825 510145208 332574749 308993609 865756755 418996242 123102397 831029354 161067811 581060175 730339587 438306207 682063673 877478460 159084035 599378171 556452565 876093438 616126993 561672985 495729231 938706655 122838980 701214113 845808931 581001695 502102862 341002812 574533309 833220670 722174837 760312545 732942492 140851914 554360948 885058166 586950566 906991948 986103975 538641635 509222031 102066026 668801566 436775700 572167388 477023447 588106621 986304369 334276682 279770619 640651556 163321393 630742261 560467149 577078168 320248707 363944828 956487959 259087280 329802492 598764776 446482647 669494810 503458367 814160392 218983763 586615859 464744438 895931222 951263646 903402442 580499486 336928502 200957981 156732129 716285524 485577814 148241708 441234650 831652349 586839228 384558715 511567686 525149559 474096864 330993051 676221967 156757440 131163515 882562800 784189013 477616592 726359716 503413272 788310820 286007557 813269118 501176434 338120868 932886067 891199524 349502675 975316032 172506718 728269321 603764594 216790581 422445425 689384003 113604240 389390704 127573954 327620940 281231832 325096192 901100081 736653721 331747473 395108899 265678979 329714391 662549694 738101250 730699735 470035780 282845297 992486353 405016617 240551346 480869394 923703288 758309445 273980347 300348654 447268514 512440206 396233360 385654163 247645617 892379189 247875553 963803608 880207945 784326263 205189858 170948087 748490301 859185181 665844415 758166208 341503777 888799507 198638034 328445342 237204229 510145934 789828554 249635578 963490021 228416062 532378351 631853288 971945342 659686147 734434931 888944816 647314919 141645530 146040502 607388303 738962398 894106080 555119521 728555166 517686050 448846167 317922892 373680251 404145782 305161390 486324721 353723581 857276691 957997379 283933834 349971672 842980043 952512769 790075405 259255531 836648893 557861102 840780769 927255048 998964271 337411837 916414797 940548115 427694409 751120949 190192539 516349543 526399415 914921874 668560071 733456127 379928140 404494208 131302105 582165213 480750529 191762262 520200564 388540983 251886854 908400824 306876780 342300332 983444720 856024670 490384598 898112328 489931891 275810865 249681978 638239787 455279924 393438086 530838437 218527663 524765025 750623430 674190766 315568847 274021628 808468032 607192152 533180135 733576781 626382642 833247359 763400559 305051075 402039335 265664781 277905703 472539621 349158153 518868398 975077263 461213966 133263365 540471791 675319411 675946399 886346894 848168177 462612450 958884305 346052302 246434506 418685398 921889963 646036267 121056892 991917602 750630726 988971157 707570176 409046895 930317013 750950452 872745978 328041565 836978834 277146282 136250843 234890195 998511729 387763938 650348936 992967122 464420943 648785649 699992009 942160635 734405298 867634470 657989730 869639803 649519550 320239522 885642695 569909541 374492749 967387722 805897830 304817073 827625789 415918824 582823086 863434983 810421207 808782902 740421011 927690792 904286294 289641894 745605405 262981130 141155161 114824290 537730243 712234754 323629188 120661007 227486360 706646633 987270596 213844179 556055276 755439639 524402500 291555541 944450104 960692372 487692246 678415741 668229500 508294631 929443774 580511808 343461509 821281106 632202866 594535942 709815916 775447884 707810728 809679168 176633494 736140400 482835168 772574345 580848849 270382804 540603039 948849701 684551831 680143351 936471740 511773211 404211266 534299716 451415291 741187676 224346808 657636330 403751185 557291370 943525433 952136298 425938574 432979262 588113607 853486618 525960628 661073490 117236582 742373444 919157933 276307434 781396624 917423440 648594605 941921731 448565448 965372543 232777457 691028465 530646433 494682934 256771054 691629775 872561790 476214312 856082223 813446118 662577054 800949809 373852735 875538324 495322008 871646379 816570567 384954803 683621658 349423081 994338879 195150775 957292751 995137813 773622318 182689215 740918801 856516041 182698599 590483824 161453574 478895368 288816006 901959223 554800229 901820708 164765700 508238216 610335512 820711685 595125418 675031688 148647287 688827364 366128763 909778378 987477621 754396782 973938487 615835126 113614886 214726343 670578231 855366099 465018227 121954955 484592788 406314962 128653110 997461528 885419333 165390159 587261622 127238450 364610327 723210354 214135467 744302284 183458216 565933663 852904819 693810899 165950221 890379830 627036126 325273446 141742877 170673255 428244696 771074038 107012411 824380113 664364987 537566836 323083120 385827655 392484025 352755434 154979657 253886179 956769001 930454305 404329425 176997532 734492655 979872924 114777637 511634264 518758697 312658018 299291703 161783660 950767061 743980970 493397619 521638922 579199663 804133210 857437092 274336289 244108240 941402892 907043320 262612674 870604428 602367500 729219304 921154527 984683313 332415523 999829212 608629135 828727718 200392757 940441578 825818308 593232863 149478126 288732259 298543005 659012935 148967736 350681354 305001210 970427925 978502295 307453990 481128924 362336124 970811810 235379594 394159655 875808973 982092307 470462346 573046960 390590336 972374773 637618937 334646231 915810824 590154204 502695598 351117519 856099568 457470234 929409109 240492254 434867154 318317025 352045653 132458243 641145757 862467279 614519656 254784307 445414875 748550323 283085139 852653083 642543985 114890729 524723516 947296735 833154099 445594659 426560867 358642896 873256190 300245159 817917591 783994275 557460076 837199590 628539375 663946794 218549755 203711436 514392856 964381120 345219872 828609857 136397836 738735769 852544937 818143045 393228016 349766958 677187955 341465170 205502939 531136641 355718308 785305520 989584682 939555275 965527499 794041005 709990609 129373573 564996476 681523038 301825429 336943184 118732931 501683190 589438586 613775079 783687497 587754706 636124572 436601279 200586743 167023861 176861265 451424323 184209781 125972439 820943911 136995855 636552374 656496103 186836673 663343146 866221810 481759564 284218596 582524896 672032870 184918680 872619368 780665810 581501699 724992989 960682799 259641414 540802912 812311279 823738246 330107731 239233287 383585516 478232602 550278794 629215116 525676393 529278325 719010216 277435319 643890308 951775071 960670842 521929954 136229755 609644828 634808387 919295172 242083246 693702982 245781161 769725717 239901796 891609489 481431772 860286307 636326422 857422544 582636108 507554744 117434799 729985770 415955086 823659673 869394915 136448210 447953950 277198432 507104899 280003976 645615333 460179203 521286108 535762942 973645767 851809370 795039384 860962751 984944272 513723160 726614161 191638945 720133175 708062971 234081645 685956887 251783298 321632552 741138680 796207535 230688228 662656195 874102842 839523227 169633225 730817282 457465819 346455442 737995256 778918818 549592170 477655145 210637319 434456461 870571538 275316602 578496893 237389487 526452608 804630285 623065943 708025352 764468886 689795864 778790009 176194094 120982722 561422507 376199637 703742106 461324761 700759092 556193387 584519762 665608017 172454965 309416780 999964534 480441859 332517733 876762586 193471531 529858126 508350640 698779106 315460919 947486062 812067365 146434147 580134367 306886016 641229211 923714228 554439969 565464419 772128916 603378489 101586339 897732651 816557038 754176864 720925402 707094445 702776279 320948077 660735153 507162594 607961668 954629136 942802696 597153193 743913284 282366154 431669911 331024425 482094097 994453491 229751601 967654141 552280714 814555044 576092761 659098932 151694522 333021599 998879338 748914140 587861608 719120356 544495914 761898473 412069679 934252687 558042682 145897623 739569432 367553988 292124167 877815762 812349924 617721295 364150728 339349906 155091312 497048229 115776637 168890400 246795679 205954230 245134455 164759070 214552316 613618796 325519381 322278449 427504508 982586064 469170453 741276845 320382866 948014442 339609433 918120808 536940586 363929632 749649910 410006448 781737559 767058332 141560734 415714946 758967133 842722734 333548500 371784570 785806748 139302407 392890450 842898180 332015661 125080551 587777038 426127985 699411255 359541296 281385703 568996267 443662562 204422651 169628332 212640446 342346086 402128142 976242683 887654911 511117239 894229832 535281207 490254798 793095726 205905181 863638234 620076739 485344264 106659449 872980857 950590442 428817711 946473903 795503135 927905898 514515772 954340101 471740833 100129714 356043814 127289333 805121349 501183498 388537854 196743775 387848021 423595027 175603876 180594075 615445261 701808060 828741539 480394187 687441954 853658418 359178179 816099992 424773181 119760132 703771578 740529003 266087477 259348168 922724978 139698751 763749101 706125050 515505850 299147393 151773792 127830138 747967077 805944055 808512783 434989893 308552254 719129287 493584418 895465598 807247990 852010413 521451659 815787098 603108695 512803257 823076750 453455068 451849047 326483077 971277486 330669310 967780565 781494549 272253053 231364684 115347308 708766619 628470890 451582801 595665197 188791497 861705516 717538779 452326636 260528910 501335501 567288629 976004478 967646022 128445308 986655172 375057018 522443840 452796627 752113502 526195003 734675911 583890448 959544592 284493523 685583238 497511028 491752944 258282365 314439601 834237747 600910092 614052401 776234284 233119346 247687445 319815303 451258160 386644390 707386633 969384679 391379593 920055967 753125142 279500282 237443918 336968293 127199672 891323548 606938745 774361650 607481987 200796800 517281013 358707267 701801812 302994677 814792594 891445402 353428964 298098594 710543842 808191225 904540005 696804276 697037167 877184205 554214906 107373055 102000390 940531372 173998658 682659091 526240297 106485770 256397558 894054806 850203501 488510923 387323782 508897244 406759877 633042794 110924313 457795729 536826028 479616174 910232609 161881196 656034352 991648009 705796630 659854618 714204319 527845472 178829359 566423872 962559716 904067854 107121046 232279848 827623449 379424525 771110624 889744933 487698221 193844213 524551006 436321229 894600312 984643982 712821570 679514748 533328957 207304330 681820695 803844699 525707721 553292352 867626000 195522754 388506124 347495032 848509853 965340195 394054360 693064590 498170907 570876129 691661411 682122567 163773316 426581034 627082855 484434909 404016209 247704820 722509637 564832742 685754988 451315774 644512705 341883018 124634319 540422480 109428325 644962598 749703293 694818678 309865320 293574105 445403746 933813202 624396591 688221801 415857920 637217226 418195336 577852099 322863551 193585265 346813422 924621881 376020125 351261842 229772613 765771425 132228659 543425838 181477499 710255797 646904501 875810419 381633635 421213319 476640189 923383023 297444029 415394652 160693360 265648011 859205497 756237639 819840913 302835945 351241252 362556034 214441718 909271546 546724423 380872628 686933140 479203460 588271633 270448425 750171216 699854259 665816409 523921855 422971323 194818607 539815162 237394898 260529093 615718712 574896677 461974250 466123178 854217356 642033697 218605774 542671168 747960527 801371375 169295776 738139156 461027374 614819156 833380645 563801471 910595113 349605726 736635191 446947045 236646575 947197111 204891026 702591232 272349437 173364181 880485264 915057542 449890549 974368955 600012635 461952598 430068220 325596335 165264121 893940468 184220262 423128900 407313928 473729671 872849947 597303621 423958259 551369429 265439008 996388212 731738875 856978312 535226727 557312350 273702614 421464093 887371359 603889612 499145648 744915687 407099468 701357766 933494608 886376241 826305266 114904396 180737487 113316831 752954484 535546092 803764057 239214046 263336462 366505420 121108750 260918038 342298398 332977262 698695195 879719550 787698024 232434898 110687043 710381718 423579709 704309959 273923704 454919832 787438932 357355238 510255428 778004849 515194351 255609234 416544027 713465348 327078457 808608326 986565078 753938092 374758944 556882018 121443543 947138771 774707368 788200094 224083029 704012010 249420637 583694796 952951875 973731791 643837886 257783683 154831031 667788731 806093349 885080959 930714741 339977488 185031683 312125464 258595096 570547607 229839576 286495844 962320146 261505904 369722484 922527922 956057143 919139889 631628462 720685390 396887363 624154224 596956078 438453305 176221504 926208527 265810411 990275993 516709498 744294060 554827021 968362914 588812592 751790779 159524470 293777905 296225366 833840665 958440612 413698897 136673877 384414165 803503289 152037868 876378592 690015584 477881804 105695157 630405476 735554412 917615728 876271990 137142706 275353629 732598353 195726684 775616165 614688776 452822330 387772646 335352795 643658925 451962137 406576756 780610568 280136504 357156116 832952455 483811398 297980613 114292779 671791818 194030289 668806929 961124014 619588600 133249232 813372784 132609221 874987791 497483873 969425287 386601874 540394447 815909994 320235437 662917222 114475752 638440565 201612469 942782452 287040481 125104864 469822350 220020578 720939744 794218511 506010105 180099508 738460048 760943993 170257623 603030138 284135143 682089739 291372138 993427673 785474535 557623095 437532123 335284974 878733718 404753141 499821980 210180170 867176686 362706684 509155680 537215353 475452633 754361887 785375780 492810017 370879970 645059185 106078504 982073917 421656725 805765840 200625102 984601712 528101132 998977675 435670268 156295581 359375560 237856764 845170698 534195789 273177196 309189616 187974600 846073048 130244028 273843018 218849033 860550858 777113370 785134244 327112781 457159673 119106803 420295668 371271897 938586303 180291549 877051763 149835802 731372332 247191476 508523391 213982915 188910278 441696028 423796988 301231311 238466462 618363967 765204144 141806318 153931901 903050498 237036007 177068233 102748437 384658752 451862127 423888239 667678608 460753415 315878922 263603480 707919436 208231413 348245286 996579106 899329165 681146416 925134883 209909189 855316811 972174592 654537523 121888265 171979729 384244553 628354717 821672488 436368583 782553886 815533286 863341334 987107458 127632884 750212104 588203735 314862663 964271229 254651617 996474479 394400142 368540829 645770375 509473576 183975063 740506974 371892295 128681482 460178751 497736974 681176851 792696835 256928702 395305490 314368726 737483732 611112175 688509403 821838630 452665043 194885852 976869293 694953112 405447156 864609995 455244592 283719671 709029265 552025380 745888160 896761725 430969421 732740285 981924289 669579884 237664996 634151781 165781231 171435397 314494797 521462852 944146610 193690605 353352311 669482736 986042071 507457742 164024100 255849649 607022965 754930145 608721620 422598140 532796888 554656463 305259609 276666889 250098261 367929561 844302456 403943995 956683967 108339314 363836505 318555021 284269698 255233154 698487144 549544477 464110133 929881123 614265058 379081762 769866406 892346061 316464013 468637395 886775126 534699786 332400186 890428880 366085182 208506515 622175742 478166906 968046610 538055879 284556824 357998311 479480350 786030127 316551222 577191305 147942611 361651121 263156036 608442953 165996175 202328977 870472495 708479277 438600392 171778369 180464430 367161530 195371904 589749489 283036026 171243573 353759051 306155637 381077573 465034263 736159634 499594380 617007548 238743242 988441348 749405155 877210303 324751698 536747099 176395149 995603317 445207128 749547221 832162607 307501018 293285286 223029837 276472467 554544874 534968382 219816551 860219644 547021643 608269999 663598250 269524343 415112862 631927928 405029530 992177311 868008008 409028623 612514840 892104145 345314760 135200691 821834180 644749597 684007620 884092024 259035922 616021522 706181198 187328464 501359895 747093391 397583939 654954391 344563464 784471244 189995492 737535870 857520486 546843577 779124718 469965625 720085098 217560659 560612964 389196769 165541226 631769406 518371029 811430196 782588482 779099886 473581516 858149936 249091280 229640763 755912178 630048878 391348770 636415907 971426647 319386525 775613716 237256419 114176045 151935735 835094439 567204439 748579165 443612059 167618319 492420321 980304015 335593248 777970497 394548862 628237432 981047182 894228403 574797055 836934258 384542538 562437401 632791829 600121571 765630386 398850549 214785702 454268020 317428880 931804749 780344356 151517613 117189872 567205168 457273872 471218350 193512248 267260223 339141025 399813860 417779576 539446959 213023909 206180283 290679760 472622849 997497478 653767753 700687432 131797637 633363459 914707633 694409205 235385460 835177119 292123107 515114136 190947614 287018759 403513929 281723239 164324669 124653033 974749735 102652796 749735710 349105767 331899848 874610277 692330986 617263510 435245739 898545411 295917770 931639632 445558433 197183190 719224403 860184997 362254081 714148952 263466294 381755316 552849015 771362045 122222607 251671308 701988874 623525498 852031543 471562913 838945139 775413517 957342106 257974390 502142447 593545069 489165877 676538274 197024921 699207974 145749840 214466161 479868805 369291750 969404300 654882051 745066728 782642893 299977145 111923073 283060668 580328887 315602428 919886627 459701898 778082529 176038258 970334651 595795475 193386514 848576017 660362228 915236121 662266755 943029506 662837337 539115900 528402084 631954463 528247746 869561905 612803564 763761256 521183473 137346503 501982098 856027520 266964387 781288212 898881616 785254778 598964952 416737449 411241430 959927485 754593182 616963533 241007113 927606217 804120451 488184951 652356261 477680900 961523258 484847445 939745675 159025437 173968807 709059428 817100343 379177179 921366556 722053933 526272629 495984852 237946990 565376689 219249259 399330778 355917895 999394954 928254664 578922925 487459968 457475867 651349816 874101518 651431563 181683290 652613951 971732027 490243950 578710791 758042969 774470986 352084810 885968834 836757114 895463599 525202404 131259392 592034202 659595154 240125486 976293064 681287139 981333246 620959091 833733157 904352391 485275603 809938936 516301456 505122153 550382246 655768799 770772109 408347628 676571032 577668187 450950885 328718033 391681340 322976334 515723199 623548265 275455821 956552532 163188546 400384379 271624243 936019996 466926433 665724916 690953652 290195539 123857355 388068310 301673243 444119832 930176261 305150671 795271505 592832373 569713716 997660867 151593753 928063107 381380203 743005107 553028309 761389204 621255382 176255176 431155371 553462505 202069970 925033810 665364401 910460328 259742907 375084239 719394719 703028500 424287704 501401988 536749886 315298144 890237977 190079400 343371792 730228837 825904839 533546050 269772973 104303953 574364241 456877737 826191949 817416760 715773725 643343477 760614102 686440644 253101363 318479550 597862194 980252571 867944107 201276269 127407716 711463209 832327256 703314837 145925826 412867587 139116850 293021242 754013010 970475236 376332835 460691169 663400283 648689992 669500057 490036640 259407923 364742898 829696370 924787803 427757322 838825763 483863628 631480738 455202694 469390965 813789912 913424150 253245357 940157270 833945331 485294434 771462518 173936360 107667620 129968296 439224046 356993275 653836975 731639189 112465276 977481232 450491755 957360370 680350505 254877394 892611570 375979397 589300923 406436761 727152608 670230921 415311264 881392656 940388230 331670219 979303899 932339509 424935798 148175839 741667607 259343510 342042027 694565004 746727213 961838513 797780566 546014817 696682005 444136739 475542097 843168573 549236103 906217176 311665466 716017011 559090402 492845328 853125383 957202630 154016114 849114327 662165430 248202538 224670166 862057004 803162051 612025927 142429727 330278194 869193777 421657976 197615315 683248910 788785899 504113932 358737146 720103693 274298014 265770882 463244635 476306134 727658387 831867391 774504496 822335483 167555204 656817124 714976797 274229644 922298572 533728816 764880965 221805619 562025335 436496132 680285645 335386447 903197823 159495169 836537620 759577832 642082250 666347182 460887144 854043437 845859086 428667647 198221695 922952122 854733397 992298214 409163662 641186631 632303440 734395126 290535258 210936607 344258650 688523385 640773659 310427755 713178421 105665301 721944337 849176446 320657512 617443004 128193707 236416046 798648856 542540467 774932877 828366001 444714506 380002651 948120623 957642924 812217107 815049508 885660773 730517565 157401876 754338243 767338040 504720267 185631152 245449119 577163152 362157265 764392090 385264183 471329400 443451121 946780581 207626102 882356294 980000507 908736747 330478570 913729077 734630641 945887608 423718816 268930126 730510632 380988820 920218529 773462408 376733402 952111781 666970376 150541069 250731832 873314604 132552469 386730620 410916372 458043645 890848572 622473909 741785495 892791038 793990732 145374700 955973561 472022177 781656159 238461947 358368382 525840400 156259846 659840797 907826174 326267979 489789666 529525944 476839286 199920542 557010282 490624843 695898926 283665692 236322002 592213240 212574780 333918882 554992704 678948281 851546065 372191161 611285229 684227919 654717197 834037006 151525234 145385658 427796171 827216664 960877154 867951786 154914159 793563834 892017591 685893955 741458492 794318539 906933539 830963039 280013880 156777515 611281053 788697455 886843009 901769555 464168799 266459048 154324919 452347267 938466976 970932359 817105496 131900336 314073993 470563553 951625881 920797472 737384437 996988264 875365657 917367580 136930176 511982951 704275352 468137950 577936311 146826680 863722893 607159841 103187939 216986693 988404990 157789848 234849764 821106228 964292431 676372684 170938155 276993699 394154379 801672048 764228354 262330429 480505403 234676836 674379417 809961746 106037431 624871390 331538353 353389694 935304153 965248581 872337889 300515426 941701643 432718893 879916804 494591222 117361704 640223199 367857292 956998561 488065547 887536271 978387493 826938050 940573527 159833355 363286309 678333663 367127220 459984498 443401326 773979761 332487330 874644351 326501746 938506551 832168340 645179757 108321215 356799306 268349193 487871471 180767118 447909125 306488399 829410190 363628220 552988798 702154222 210432749 523057704 776096236 264523209 755932096 208675383 473096756 908680389 117029542 801780157 256031036 962521664 101846120 870915766 367672445 417641130 284517248 447250777 897767780 689541697 384685225 401501099 959291457 120751850 913063510 454838559 679739976 987825103 991886182 898127673 259706072 106013722 320219110 414264043 948734205 917097668 134577928 639311215 486141881 849932761 795479458 695419507 867148011 725948835 315826675 132442169 792261167 396985571 513725431 906521334 566629712 696241604 877164442 485847259 444314219 908058431 168378543 847968753 740463278 542223932 825463060 527257277 470620028 341242138 455887301 515603764 603527816 716486027 939802317 388677872 830023062 587197386 701572403 396760626 973196002 792368526 535912317 593205179 962813266 733586694 785135716 776656400 610747996 978374658 212176555 509625827 500256978 186601465 534105832 168852183 776038475 608723044 518765734 681050986 659571917 583791132 377750510 186555435 475549494 573336845 346501937 481179893 220919309 838666008 494749780 580237302 622872639 494820035 989267308 357246763 445398786 252760735 360733585 986952229 547705968 490357920 350567583 742041246 375286747 932974937 937563285 710975326 302057077 968954509 737793934 907496703 196306033 538233120 634045030 623085325 940126405 996184915 688660056 514927962 688672728 182344688 243954510 720185413 545842293 142804365 321406887 448452512 137447097 106458586 330164837 382146010 395268990 771790791 150264639 342961781 923795998 790810612 920101355 915278472 151443247 120883366 610047843 740228124 907184555 494398661 555647839 381395155 603120142 556948819 260743618 855188229 326130505 998187005 788439819 825349511 654877668 206577756 849440591 364432703 211447544 622577572 394646818 779675499 954016581 678911467 639517783 653377145 787981911 564902502 369379747 306326496 737997901 502022581 992981769 420947672 809212342 393550048 167336514 608855802 613867329 801991943 474030391 342777361 879671830 985664973 679946248 525116073 365153269 360232863 386796224 704843836 358076258 340629551 491088427 432473153 980034068 265529290 726770393 919003901 499726054 632305347 380136050 432839008 194383280 355484363 637272709 797763485 688227591 829210003 467758091 292990644 909239712 102073006 453422239 195299092 510893484 824930006 150444513 323702035 450743220 954823804 879086861 244197968 650853370 646780305 941598116 793159830 661309442 175322598 806474954 977988568 338113169 800127046 105867039 679800636 910808288 853921360 564136879 303797865 540337024 602067289 380978069 838906207 620825814 191325144 993700210 241052220 973241193 383492701 707394119 477525176 853023584 869135069 927632262 738152056 466007634 538134490 851991459 146193781 233064371 756520144 794575870 845830754 562332818 249101585 853723207 312920812 249850355 533004040 173166425 757802463 958969402 650275433 586471594 610111449 455422550 955611370 983502201 107923537 955842575 583242232 100383145 299791799 943305957 416932466 798161481 283497359 815313371 254321711 640719426 368234202 787101824 310761292 910264767 795299032 686297145 827812989 425298924 663202847 609101777 904947064 843706426 782024820 891059442 640413020 406727147 402118250 183987405 749748802 605392527 420066027 612843264 607852365 410528437 923872062 591427016 731481095 716515710 458574675 661748107 773978582 250994176 712618157 752257515 768242005 459135370 435495632 122711013 285099760 445652865 610939139 941051714 280718697 913221588 840330707 469467764 674520227 106215742 246030899 664769405 907995821 842740605 968939147 644846506 372555371 546585403 143565505 409731171 129358639 498207958 732864596 714722876 178809236 145968270 258832990 826632886 777285604 450616668 784461430 478269493 193272531 836672103 429192853 562650918 845960536 818208683 399885147 943552378 602769348 941764818 682119140 171796723 243800480 307331755 820878164 965479085 905558773 906430145 219115738 310768975 553885949 352289953 105823350 746466091 212560236 163122987 117572981 333986076 845362853 163651967 399016609 625646053 799923105 722032055 208503700 784056604 668126218 924891187 282471517 657708729 709167937 249183812 340200338 571887558 467698058 797021863 562145174 362251200 963562525 975923778 579869323 356761375 511022273 187272801 464621455 489631525 544255365 963704265 726708687 536560299 514767161 173094413 327961048 794006743 368617907 136238439 394888010 486476392 707602689 824388440 684708345 500215289 148666635 312189503 603496519 527148466 776545152 658649197 719318373 322411828 450782410 411251624 343110392 170379720 198900274 348321492 750421283 535031253 586459963 766531285 443146829 765585032 442693773 688221655 793067803 943752907 638017938 181915150 176660522 349333788 335363218 434317099 508788684 683253505 798359596 790495816 541721297 660018459 197029675 717349553 522096223 782263282 635570284 735132512 313965021 856291965 343272367 585568916 693230366 519627106 527593240 877750479 268269662 425142047 592461989 729907336 633043790 457761590 581976824 505097158 840187614 181193730 765798886 879311072 220303557 619671442 250400993 290740005 710614769 994449622 828784847 198380681 825310738 949463764 439690108 564901233 658115736 241035853 877444883 826988221 719365854 221885928 704349856 448981929 635964707 290469500 332998957 104813621 413516971 639013613 397753952 966513442 219102447 357442377 176649799 700687526 687943679 811212423 791500341 789090868 926117842 591957513 366144329 465022944 908163179 915112116 774243309 713301663 989739115 773985397 909921507 279280758 238536259 559010724 351488029 408275924 986434977 736686721 829236170 366638831 496986306 507315573 180008091 490890619 626097207 670140936 655077967 400912142 847458674 328310531 975680737 246366234 752639146 260227848 723126237 556981768 782242273 187739802 725491491 492231403 258115858 371530538 359347839 932846066 560645102 478188421 786694228 375620020 834125313 387075999 745899732 984927862 970284743 639090947 980393665 385907944 722618489 340946169 488083872 119238723 581315699 454127933 999944026 657805579 998562760 988341173 897728141 408983192 355880348 793329399 274104279 803818877 158076913 108327607 869073231 435981733 623960046 625803470 729726130 262496777 823679971 606129519 316573461 595051842 775370566 865681487 785384524 555446252 649933300 853533038 628782242 411752804 193128344 371760775 498262953 632509653 836712221 263166769 888048212 944608180 513931528 228711172 651888846 735959291 444154775 297910506 294800113 821985070 975485027 983630584 753151423 535439717 330442888 871137952 805603474 644510033 204216454 540302716 228198158 533291679 521610304 633519818 787168021 549519781 574118484 166013987 825831840 904054497 682382444 636784440 863990618 124258689 292165848 301915293 854103685 812026996 766919376 111105557 561408356 740237300 656866871 615262473 340272533 464815080 448989205 153547961 182642878 604227214 600507646 221973434 451171941 584739799 116701844 499918506 820031157 428098538 531425075 302443121 587561465 952947258 668060465 421921851 455745950 403413625 131435014 986671496 956652701 196826264 751174202 948855469 548226911 255065196 112685478 432471410 480433567 284170802 822619229 212682478 990315309 533407019 855356715 870389266 268363826 161632737 748541540 718693838 129931257 757902356 390997531 444254712 634673349 155268303 543965870 343829289 487989469 549572931 945132454 162035045 324092513 494729377 711335619 798994485 225377935 303989670 743409676 733527772 300955778 390869884 381213467 741043520 438164221 362112970 664810427 410070740 298558070 358220039 854794955 392197171 189515616 344718838 948036205 163168384 765752902 960137440 318645649 603242575 492798838 384589691 348168096 854066468 862881230 969245633 116010765 934307962 814234292 863913979 774528796 453260916 481472270 967133918 366420118 702977444 105994273 225199332 618154124 950050980 208838159 239829679 385661803 475118860 111877004 419129938 360923406 762076159 107796689 307710875 294815647 713885917 709250149 335740119 765892655 316544915 531763428 348470332 993760351 421635454 893495367 243597701 803749587 920405493 750185614 959719903 747378415 103284578 422273612 266924338 865932890 687182380 493712632 211925695 810227301 872884486 374844267 454638527 365609204 972385825 602516856 819888838 780063937 158024437 122801250 275777462 412673257 361856237 987985379 559402510 306539404 297798597 801907080 120751761 101050280 591738470 944322656 905969044 849458925 142085670 602776267 293110517 574506870 204114076 850885112 750680560 901533016 357158340 830875551 667717889 252166127 483614309 878525527 300038433 164577953 353060209 769893053 894859062 969042084 287350131 344221582 343908237 158591427 127928227 981567521 532134717 255151264 152441634 264927905 745358704 331205128 559470525 675104537 912987734 443296464 124505102 964587115 448071828 190600285 224704224 659266956 886991619 408545489 771753031 228676882 387269744 879143105 991260423 740479875 884414738 823042192 628736732 161286935 511966623 732282500 115141317 933728564 124642842 307318212 378954968 395055821 387714232 794045948 685681149 461899541 466916208 896190621 611450744 768627638 758655703 842638212 680414484 247750878 742491458 582482855 829686995 814448669 239159201 636016924 705904533 620237390 133511158 220311243 975652110 644598703 407233971 171006158 275168780 932631480 599663152 319066662 618759419 347630132 681744730 369751632 543874706 575516746 427518989 365042964 239695185 302561571 864866573 958262808 532502833 402818968 381755592 991505307 226482629 887475575 983271167 507507399 722979199 122984459 733676782 641005699 761010052 993495656 547569344 523979854 669993396 988718950 523076084 771561905 554056005 615356904 858118764 979370310 384105461 143875867 640224911 938817579 212287342 642542185 391593476 732328681 697288246 960413659 745845096 978978478 754905861 156700937 597126791 143961787 773168198 501447634 484129090 165431558 655710496 352333618 473122902 920187486 492991921 256612239 204111250 725913171 416750116 939540419 313447661 418306191 223218059 714852421 288346380 354495518 354925191 774211686 302501620 603995367 817273133 718382813 125775954 906360665 210491380 940555264 910977899 690328415 551611928 451764930 240790837 699017450 750204087 815613289 567833707 142645868 320802490 229345189 977808896 815163131 194071168 659646837 577798537 824595301 388922321 200679064 710736981 333023827 135266624 413039394 241773235 598460029 673614964 790087946 275765323 918489554 314623411 644522745 173403950 763058094 176815718 909977932 812654428 291825268 788736044 813201678 424617035 247713709 928635548 100598120 416072751 153528757 180310390 897567612 130874687 605869373 178337455 808326416 490131446 545363284 679782301 903201568 644701494 184811027 169801206 204007594 889444982 445175516 665686919 881599013 750156288 701168657 336513764 165775257 539791859 889135702 391621277 751514621 112982277 505232182 306562888 307779013 554699634 844592021 716566375 334724374 685352975 804078771 792727668 191691622 117721656 317138098 439984900 267012764 593803260 315804389 668081941 825148434 630107079 317264317 580377847 218835669 113438743 711747557 613904012 993110556 582031365 965231271 985181787 805672279 601957745 239167293 772450902 413662013 673410330 759141937 633996840 755621780 581032034 709735939 556887776 285809332 734201386 618644639 779390488 396395277 249992736 242656563 916160978 415490047 944524233 472060561 593701519 122934152 746987145 967136512 501414481 220131493 866322213 168599737 663279869 157228338 680036499 649520981 760331556 540129424 881791794 827917738 628388875 328882047 918568800 727364557 353529416 294718111 658664448 109036573 151814044 936059557 931103240 718865700 789110076 595729769 262649623 547735035 470812857 255315491 424458789 791521492 767271876 583481398 831220035 521214431 996576293 241757366 446702344 201022376 118264947 142399823 714076757 227138658 386788047 746868156 686101152 947480475 939912135 548933601 975015874 332192027 768926228 412957120 721028651 420009679 828403677 590557273 375282914 375174557 534932841 912654027 181938009 593795221 576955643 957517683 710306315 182765416 787927742 880348736 837435808 775684050 786617435 265378067 158900408 704996160 860866092 784209865 963990761 989255003 426044084 470052754 695372792 748078782 854488418 296952459 530392550 760664666 150183540 982711679 211361315 818886260 563264878 886646146 413801452 129709860 185755854 981449091 355340325 765764178 989432209 595850046 605524108 895619165 437388417 851909807 174560240 481555616 295927703 913089098 309183203 606899082 390963709 387516427 920863170 666228091 183292628 837309510 971563775 160422733 399741014 840026661 351680196 624656122 623873609 330533272 219611219 997132853 670741572 825407103 925913877 634277522 885268172 987322366 881193031 104968247 629979946 291721098 593636616 182559436 282146539 229568852 835136666 439736969 183349467 817962344 638775747 344902769 655499950 194647203 318222484 647613655 622175021 528355542 261516507 397683063 237852219 397160378 513598366 829975256 216285168 752462744 791646698 888109772 512669637 349414998 599913837 744766946 754076316 353456058 935498092 862214097 850621241 280845365 350815624 541098926 336698454 865310167 224069350 359872026 766602435 876223380 896953745 406294752 703355596 375092540 533918905 607974958 396419814 610559112 162970522 411721692 318112635 948643302 777649876 815317073 819152875 585979336 316590158 439456607 960554909 505177465 226469015 875775044 140912120 276129496 754991441 365902056 755941059 124928606 513216011 446595748 803094939 824175351 845333694 669557875 630489023 621256471 604855366 204160583 321187362 171432372 736554001 356915576 453003545 846965654 376060417 369455521 397486521 981771556 699739012 215943351 144322673 948405257 368520363 255038490 645944375 966603662 455454609 468620507 841958775 160835145 437153712 117846512 400792196 361595466 781014609 990103401 784611015 653191719 393748793 598305906 356817768 715540673 950134974 997524671 772327048 183819090 118569589 784111995 212650007 885044501 255393709 617273051 149614542 546027532 455130860 148352382 273686336 671750744 534598994 655188455 755313507 820754281 343178409 776800688 788549554 547444075 189657923 123132392 550375872 624805091 822931103 316579004 977035086 922318067 721237354 256738582 934135187 685391999 865925290 224539842 608508766 455566733 193743647 617760749 684228718 970988281 930738130 851916889 584741781 536902000 739263557 471631125 388814274 911316406 697251626 577299803 180705942 304450476 150626272 457762000 936889185 372267308 130637608 894159213 848191396 245717277 881890040 708169923 613797873 779863372 121170949 806496189 864242676 919772672 251457828 140972122 139995270 297766862 775954668 667648002 840033125 711893911 267173656 952137625 384749582 236422861 426095374 975723416 528215005 881336785 401232867 197163098 654124761 256730083 429996543 863032358 359713343 171672819 491241768 324837662 205827894 606338007 741556930 916855649 753726042 238508224 111505739 938421379 544518584 494181416 919346929 301150434 503514172 716680654 981220088 603008652 152022267 695706996 599296855 262534125 866797264 307883277 768291976 870670581 782981347 681782136 950362956 612119835 643100863 371831477 456814379 149636261 265161026 106081463 870807192 818075742 510918393 982716022 637824487 764115075 953029090 574785374 301694740 379624321 474782616 833609177 267982324 863549266 502786474 833314046 910185142 326593550 134044841 923026363 398242402 110368186 106754583 710177003 800892061 953318996 445013066 562916778 133499450 231875929 706226531 387263942 268883335 658395782 815134237 941514775 634298280 118747285 567174944 320588927 574251657 798685297 115753771 580818901 869860199 977573496 696270567 748805289 682373202 162270023 293513155 860945903 778981948 295395899 927690657 345234362 530102606 560675661 305556413 487202418 337123825 213298770 348533740 627463219 823294714 660378448 100625169 563381788 735234250 521588395 504365243 603085011 964905733 939168143 282170009 466810658 287411620 584942254 630523997 395538778 372666769 299628676 794088161 634971872 249887489 885518585 236064901 639081820 410828238 345386858 628616076 882014205 272539425 344039318 150245281 333725224 431190407 584988566 997757809 218865873 726735292 455783333 962681806 158128011 741937143 646798135 431246724 503104480 524204701 917505251 111376324 448557314 227306707 425911035 231684682 967862995 137545012 120443785 386823184 999192347 494299276 280978277 399779043 860929714 986624737 481083782 877724648 849373440 433177853 648052739 269660808 203786390 519799562 884431682 582534649 816195015 835288848 573055168 592340370 151398155 586877284 479370940 863588683 459154696 299150289 288183865 934503444 448172169 663114657 273970090 631807528 691243953 354760342 792302068 796899720 636361842 182102213 188306726 109362063 210139843 396517890 284687531 429719146 305077508 201063849 118017593 627398136 803052083 149071913 639020748 190895109 392033701 153672709 795553200 842828994 148752961 178722582 372179422 177156822 499306883 448967571 545140863 720457968 416187105 720389445 650069149 135941085 406240062 402736865 390739012 996913371 978138698 654801823 628628780 155812114 181101888 212936634 926560255 202827099 646331846 810000562 220333929 150831630 106833770 380635117 815126632 423184407 945239164 776573030 815835435 326767276 964189528 715159813 935654803 185918075 373945803 957351557 810622989 217218158 261046955 678076153 183943652 549544456 915850140 738064860 685899471 181441502 498024939 967111644 669913489 120193496 638593142 796198183 600246665 689500103 145190443 727505865 593622299 732398708 929924218 680216615 798927011 898081005 766153752 664037007 593724441 528637840 446720260 688374085 947701718 648730629 712385155 968414335 790561953 966176446 852191580 406981575 797838359 911072653 623325258 289023058 663319786 204434565 459822461 471260489 413869177 886696765 361257857 768225303 111630556 695570273 576634189 646627922 936126383 561682385 102943963 880161566 448093681 704856874 878135501 530680344 573560984 386647378 254647444 212985678 939143712 583852281 832540304 386110703 992735662 580716996 139283533 660075424 322458634 325215541 429602436 532089295 491886122 282693361 621827191 171085915 660704973 426996453 875406958 216919774 363503460 256845118 963797207 949420077 106529860 703972025 262402486 642383601 186283079 501178982 212988296 622600872 684539177 770446985 632476935 961282241 502741569 763557085 787268974 198530375 814728150 927563158 140127603 532441363 995562272 331806207 947027476 564665963 108883550 223472396 249451823 783224863 619519316 182647685 808693934 300037915 739065308 866490603 776171478 485755638 361429774 171041608 804966545 440660172 149598937 384401697 625184358 788781767 929774338 296780069 190567383 270337733 546456436 430077605 678104579 438172577 744911657 473638066 275184399 324118391 553641885 203807483 196698809 527434862 854134740 160846807 514909901 670533819 682347843 387764095 128157721 931635615 819132879 948503804 128806022 646204626 994413061 264679436 209186237 504382357 671767988 304678542 395913083 267644552 852166689 875347461 300030337 906595476 609511942 536292690 580635759 711214695 419190026 462588713 952124708 115623283 175201508 348326292 370638835 224745232 838706691 419263875 637491756 401841572 214544523 605003200 508460206 607618326 787004676 989673403 394773708 325916801 815744791 997565954 632371671 864293851 347385321 128511044 924622372 462203658 653772541 574244470 135136950 624955976 598157660 625997830 696728443 232478119 982008254 342609850 326926439 464351029 709219336 531604352 643432822 130563102 327436236 915221064 410866551 455034484 427302173 342824922 304956335 460031322 955100613 632860929 593959329 734567890 746900766 636633706 152665119 822248916 712201975 393684662 212856488 828796876 959405281 900891394 486108059 726500671 840764913 994659344 427347744 556339956 126105035 225534702 204675731 931487504 878638490 313113832 342540779 212704292 535209099 667978941 737074663 782249277 911770589 888013424 767126787 234676184 672205160 680350782 876915930 356918617 962594047 263226646 312622891 722213191 632725561 746541761 356781061 555706170 985951497 143857618 762695629 817615292 840846698 878661331 402407554 731373885 621917972 165572837 940564611 669501640 596708042 768374197 688188482 601462362 804290450 722414759 329302472 720772541 150071200 995638236 284098844 740048959 671071515 395060838 281947966 615597864 527069341 776798761 228772125 616521927 416005431 453315271 622690368 543943194 912769919 599078956 844342419 506534172 979821738 796258738 790037108 794991288 386056425 828249656 952367230 283808782 336213132 432847967 157725537 267950219 259429783 375854763 397761336 143904556 997047916 845666587 903595849 482424006 999799470 723666617 211107723 193794419 776019393 199110211 970072756 166361957 849869625 884536176 339061843 257117777 577816997 714316270 830986267 257605651 696720205 724654612 140219830 776453902 995990373 275862400 461738078 195669371 711018573 466348042 254278824 392169895 672397124 815850740 467278341 831862688 348927525 945324053 885475554 710544516 614270045 297807206 498172084 246381297 832690137 195371659 869404399 926116797 439424703 389361486 331629050 405035119 603903393 338962279 285901105 140807592 388405505 964688291 959044216 480993251 147762706 650672470 691077847 244214614 328070540 606137732 410103852 545022113 538176349 109482653 779145223 482281038 371949435 503107829 737473711 825358047 653150959 122642066 692418473 888022570 988162241 444895493 290976497 677821020 432711564 823690286 518215887 975102332 220083168 117223801 742505051 318042063 239072606 450954362 722668007 228779839 633409250 198256704 827431346 334745479 931479284 843193168 232703837 302433830 602840752 114719074 497362679 549210087 500542854 990528251 245325862 739912815 462879907 239948412 163346066 596258547 782276444 794709152 154007205 270495899 940261279 828512277 693627556 607168696 363848353 935066250 142383882 716975499 611493230 411257824 589258790 236583202 792430268 702308292 876906321 382295441 766503036 892479115 253286685 636398356 126620246 819779881 541168074 546293716 197571916 660492262 296168271 917427374 522635770 936745066 787113044 996042830 291798015 971434065 545053046 720370486 976859446 205724093 736023621 907496299 459048910 834950511 192164510 899136428 596750884 867409088 686792776 862820288 819330082 720280934 748165970 965034132 148696271 461520450 589141802 362384158 175871480 418560739 985897833 209750969 206037942 582069629 741842252 102092338 427883316 503309659 202210141 854310786 936317316 622410320 896410775 116718013 481579811 703074108 154461733 504122443 396761403 805480536 392287870 843298360 373609249 315093320 785037882 757860524 563959202 101402457 274321376 328558661 521752956 590957324 736400042 146359241 897149489 314800072 697985991 852931840 862696459 835946378 364339004 167014370 837304323 344350925 324212969 151470362 126892333 504649049 755597351 982707461 486652092 496483094 151722796 583914698 107131811 586677514 919127589 527196731 743605145 467046316 280371930 240926856 871403249 626062794 405522733 600227576 101081858 376753392 612096546 356174139 966784166 352755818 201952986 972874181 685466371 303214487 175077672 146805364 424433383 110229131 370941388 331265552 229724444 804367443 603045726 114220197 203700323 920242105 881891454 542443724 537914776 627190261 237074739 316306394 304634518 848140098 861581281 367807792 386565330 573702793 818061459 705815767 386696206 774870888 622431019 500580637 144813792 495313297 829428882 355869188 300165219 917378578 988300416 615367819 439110017 196612476 681634575 699259573 898416822 294273980 941688933 842454565 636260140 906063324 740285875 208922523 284657969 362141012 551585938 297494789 467855697 302510354 716284726 509345981 351631485 424006533 219938025 668723776 128413453 156957393 947766955 970571530 456336302 822667582 930263922 386267566 276017969 991977868 259064359 490304680 753768552 560538207 457295968 932133274 850847994 754994011 490221852 201370273 648309673 914994837 342656139 328705020 742280073 113568991 985850878 888542582 867461197 282817829 339914247 526346251 929190154 299017703 450503283 253719983 510317129 224886849 358374107 840698159 619939587 676211910 388361692 111140742 880955189 402520050 299418285 365711965 116638878 618035584 377669220 980226632 841617375 316338898 655745109 916136162 138017681 931001054 267049452 180591644 466812565 166623567 346371978 271184820 989285337 616306482 497697432 789159443 930556601 572605832 307815873 338183914 221950841 697476141 456866691 702187585 862094665 394567778 246467308 170890944 877468141 949218520 150986564 721154296 237944375 792396848 304299649 121550356 140377680 262018681 807764459 455982308 547660147 256599946 401133612 423872912 813759511 568260560 253444284 879403737 797926377 973245702 793964299 240258243 212900394 779298671 457377255 229294370 990101828 336651047 450641599 804574613 226199247 779001512 321619203 457202952 972353779 132698445 305952554 441864028 892761058 643012185 866102251 802527535 177666294 919275721 936609980 450865431 927230524 180634043 437593631 779851185 999037887 304959734 924942942 793271809 896247596 363670864 628567869 589079063 565381336 965454807 834052173 101072039 450610567 358688323 647025045 504623587 488845559 168018326 210291257 782002858 256588017 319916705 631545389 472728917 585100401 478031331 369064796 127849666 556930831 158656008 254558952 284449455 251532000 796236265 535712542 888567224 521370920 271395391 273528601 176635775 225192001 200028823 517673617 984018393 872346126 986445576 830430340 540409455 237491001 797691184 664430139 350794488 588199399 698507574 311379325 716267792 534086177 474058283 192349561 601352375 571869965 153144841 402397661 828512308 922210186 760664419 572334432 992959276 531039535 445809655 941171811 195180703 307012079 877596243 741430397 498274822 755572578 587873770 289383647 358755541 615910823 750451564 283418529 930692151 433009455 936833244 163014746 290140233 911313910 138684008 798955235 199822758 501192825 882528791 395761439 560766226 804275277 459061260 481069636 711187819 476984255 592653601 370383580 944239708 667865633 689586589 307519863 619571707 828553643 487014685 374439864 266452169 590370597 308717183 470069743 861323764 539914416 563690382 681239980 337268272 290396597 239959339 562479153 951524552 293123578 848184329 884692505 563266140 317986828 859473128 693468004 698644845 494910334 326547663 569152235 933977558 458479469 764739548 951274536 380550093 932541317 446489180 209474159 416459106 764423272 105860250 199364143 685531914 304669296 916423233 307657993 530383953 773215775 709240108 622998857 767601452 917400098 449145800 437661680 272289245 720475819 717532256 842155378 908657187 535892782 754198732 871063380 409063370 564364357 311273751 666632470 601361507 736416237 809510896 936776737 472654037 233332197 664386349 742485162 494939475 485122177 603590027 464058897 821924198 482617165 345135263 385462861 525942805 173065051 136502898 692938590 558293822 735870016 153457595 635884746 564126201 804258839 783747776 667133193 956764581 604786109 892679655 579754059 881583500 727841417 871046033 997179542 819445678 189566621 497135393 503927132 308563526 548421166 740384660 606048259 138314006 775040150 246323741 460873166 710057721 310304945 292155121 343109634 298764171 229054005 681635457 517585929 610292067 895917357 811007666 375921690 963763153 298184616 350483718 750808756 171153187 211978756 243034374 265911334 743521733 564781613 910159505 704543404 982703122 599068620 265282486 913780255 874052641 967716151 400753854 125517426 100628494 720765400 569214181 393481743 900808781 206324531 743905345 466858462 790957288 778880626 698963952 713726322 953342738 472834363 715719140 412712310 220397107 625528130 907374457 386604295 926363039 791499082 462459733 962746000 213613677 578832864 410242069 588225333 507330209 278085663 568061010 932681442 798183526 890035334 253282657 187310910 237950572 398866540 789440255 617410222 533448094 981194613 948188324 783246692 416215613 495509976 669296683 382252678 199811946 321072007 456707278 281536658 150151482 132367260 887093406 823673835 728366982 281982487 457307873 115914101 492534463 874159327 396308337 773083884 507617184 349180478 409889964 768412933 182064258 765309886 134021774 368036329 950827213 106761806 657688446 922921080 295381906 287806192 959611184 474766784 889253003 804798179 522587325 394978503 149097262 165802708 236162129 348977885 621274641 647510330 493364483 862926791 617331613 599285728 584622963 640845521 589955916 284211367 587612061 794425170 657919738 968271299 745778816 126800708 299690873 857774185 844168619 366874805 869284467 416919419 550191929 276107824 777135186 437521900 115118590 907264537 949849537 611419640 520946901 200622977 500933602 967334214 796109825 436882635 585933428 663599864 848362369 124469592 711998544 518638831 553485781 179635846 660470215 550921829 300533076 477446852 833955852 382633668 293540422 177956072 162657360 730197180 907839158 671693920 934972242 695992768 155754044 380517570 338747531 381546040 445206682 483377724 649534964 242466245 996219777 513503267 904794913 278030637 573686103 808588379 824825311 774094805 931008102 472567958 490367830 100708880 112904206 379011228 282814745 943052725 363183889 698821471 608724187 400875201 499875284 808759406 351357824 994873422 432855502 527731696 351078375 886871553 472101067 208834873 369882060 866875732 133851373 656339576 300760969 676017632 708235080 190833356 289000871 408319666 363091702 913180468 337502719 522093495 212611829 737294189 713385874 969285728 390441970 515517471 794172460 110775248 456292129 353321545 708505574 444216271 262787984 658468335 715819696 801160365 286958870 759234650 284234704 298307713 550277437 995286209 803732218 865748082 250582849 926597952 281799686 451722575 645380924 694151528 216967534 752600336 848793149 554396202 312221361 274524786 422323435 763298982 960887367 396768445 598024128 586557712 957317577 501611018 957446369 538699717 701082972 516123118 766478999 710397701 170912460 892545028 201750418 362985948 344231929 904201592 526642500 452564423 878971370 749675283 390786720 234757194 151393942 226592615 236081285 154921811 478180727 259731957 474074520 878566040 733073506 867222172 332844618 345848251 776448640 764540946 104377515 716302034 686020517 661184814 332636172 328122372 466592203 103320026 810426479 671764822 440278828 441599870 714319457 329465762 239080728 849848454 257742472 318892461 735212042 432032638 760125442 802941931 917080869 468368804 565439065 311194969 271316577 925156573 537895776 970377685 771058393 792783077 153711514 113472861 547356239 356355871 212542610 678674560 280779701 839461993 105770552 565960328 155518082 817959975 333115143 586569138 595787421 375051126 922903001 624758664 359249383 554951625 601537551 732027956 741181745 518769838 630006137 253689215 989290313 894452096 435382012 939522548 288437914 840200411 597458097 918896704 805303349 601454381 534616280 952349376 577626944 170567798 175829826 563555526 372475881 960248818 312594270 228006280 106884980 955234669 281859155 784217911 125389530 893848237 700325048 246766534 739399061 658800019 573180396 222488527 106992433 611185736 208472139 731173036 585739858 129846849 389011811 146413356 957390346 519261149 229906802 688709723 867141543 443061930 593568115 756977621 955695700 813439132 909529719 715617231 798908405 589064266 887334094 776425793 465689479 194918712 710482665 151967951 787304254 734704334 256715572 933616726 334500812 112608756 424664824 204312152 551086682 481175620 949612829 305151259 657329502 335779598 893384147 330693618 978418533 118540571 141773234 820982989 561523884 237636551 194122978 652018544 263845244 370441278 142586976 934857885 154760026 400958119 617129972 464695205 387068865 867098703 295843438 568865329 419827327 254893663 879608821 952753539 578611674 627783556 978889770 483331968 322853574 889364406 800013261 632099618 734648589 270704366 526948276 606144859 640305032 518655339 780767260 384403599 257246258 327288864 665499021 294445514 283938215 470289799 451944567 314379212 376261971 677557029 581413928 461534168 629919498 993903244 514233153 772550439 208173487 657339956 377244363 281173696 932060100 411707640 453222824 572912362 827452892 360932320 313558165 455224368 596566725 876690782 717399284 240692404 734848770 857314030 694420291 160197325 543776219 161721316 761075598 806000695 336872070 743268715 668061762 421150787 309405491 680528511 489589325 804465554 925255938 856495267 207170250 432401921 331597509 871093297 851755870 467514242 414399859 781434150 590248875 439674430 984280839 790136313 159977379 101933098 628178800 676132442 682900906 690012902 642028271 510834545 251598930 680669942 197070952 361232354 798724248 988565916 164250779 158080393 824561231 373561434 614578109 453564455 914811917 212616125 716386771 932426872 962575840 260705832 757285329 596598806 845181378 495415390 550747589 646895264 437872285 579162314 597896573 811943076 681854181 392020684 634609901 262613675 433064568 593180601 689082772 417285142 958305175 995175591 631017448 299091913 575291183 148248362 147229079 289325466 578563054 551937547 441637650 818342538 338116351 819993704 750671266 888147672 927944382 947694083 188042366 879366470 490738608 710620825 660928294 951275349 279654270 210423451 493939383 988822703 605416047 556665582 594762402 857984305 774508977 443252238 584958176 593470179 595021509 205487183 925360302 561703449 881778309 285638435 649488755 733178036 970913159 874627044 222559303 914712554 141987261 566640927 912577637 188314280 229975977 122313227 227887795 801189323 235075293 820181210 281782661 975688453 522669540 644588157 451890229 576358645 780466971 971302570 640198024 912740295 334477131 596870743 594134472 926416064 793846086 159379411 381051227 368273163 325647261 690032830 240420929 962371002 842964316 442904958 162293042 599886364 164432021 594201606 550788054 144262531 257301244 789971326 388124780 695911631 568390155 105551014 854805533 422150291 998095717 561939882 831561801 524186633 104362200 146677995 558876687 447039820 588366222 955877741 418496307 355037849 366612479 982514630 814248712 721700103 520276553 600571571 344020201 952353401 627737629 997181063 899998267 236468032 207089472 255116560 933861662 650983413 880589267 228434383 423094636 969713597 436401105 411548442 404241548 657097588 514524440 320709960 539285831 439846695 435391282 332242302 694444012 372905667 240911372 411440918 460700795 624316740 705930257 550289035 597722039 977087864 112074491 173168953 409200848 796287130 404698654 139180472 960070675 669984057 833857538 334796057 315797885 155421279 404306732 738505181 333230550 541621497 534550417 568158310 201334455 615007612 168828245 557909835 506886298 228014347 226502534 946271829 896436112 930822535 321952879 213077379 928410063 434527742 466938126 730993022 961310866 378526953 513953300 584156597 398128488 327839011 122376566 109030463 967945321 320327723 822853566 719095013 459909211 677389085 263098713 864452057 721518154 526811164 782609447 907411768 432405890 685596601 189784089 336715268 819357856 197989242 258606463 750946387 977694594 294805918 301461987 977732939 476449214 901039823 458380404 655441203 191932403 381724175 416439474 340845873 491145431 153056718 210586576 406623680 181587588 503014523 257949540 854328696 641640795 657883284 502301249 227780480 262155500 414534736 293728709 613403237 338757045 402658895 542760095 978360871 688275973 658588329 676945221 780006214 791626792 560803344 548666977 928629454 225002017 425376694 192380946 135642028 101634802 414988951 968590010 597601380 303261459 990607654 333156477 820570672 274151290 991537655 199127625 898742194 445999136 699970047 100788919 155392924 445288019 771422044 463021719 845087118 108068737 757484780 308073702 210058465 671226192 711792594 639407765 387454599 982235998 426226451 121671754 936407629 397227851 259089266 791010134 963952882 601165579 619581526 297681605 444175501 694158637 983552271 436764686 487303307 932321475 287884862 191169599 548957338 445041642 786665255 746175161 438418471 468588387 994192217 444933493 632284936 413051972 664759524 218678788 593207825 472707268 865057630 340384235 853502561 253169366 849335216 393206183 621578840 345813397 795225096 352197847 777398711 547046879 557028375 208249614 389391837 253356057 486067129 742847929 145747214 443793207 687909836 149837499 887355164 553497201 928256307 776609556 907058235 772331095 354690329 699287801 601228885 575595422 261450767 832428381 151675823 508800267 228391510 796283841 131543938 666376044 388384864 301635340 803475067 758342796 323391038 138960716 464662320 962240147 636987353 838533294 618549791 460595397 301166140 217562690 580277429 959515198 155750143 714302275 534987337 551938828 641311094 157472350 323391880 230407973 358810758 811083584 699629189 665688335 244726301 677655210 634512302 726049980 246627191 216028578 179814663 252222003 154739574 506848838 832770819 200867107 975746992 638797789 364395698 999206261 501490524 482667430 781568439 147113305 690729356 830227199 122761851 301163582 925392335 975025707 720535418 670469671 888590680 465004914 532974656 158092770 251307607 923097850 439592031 206916220 657603573 772532806 479172710 380304917 730837392 420281301 288775217 123045702 866900713 271560307 192415336 924075527 961744255 590860330 688822848 417725010 102271455 545414862 237127032 997768761 129151251 375240411 735101539 232548349 108778225 999044305 784016672 443684546 949818574 543188854 676146942 263652622 268377013 220478146 451773895 559190625 338626801 467267017 866935787 756117201 695732391 930408031 582477121 149625216 123636488 164909176 344786421 223352122 807198924 999156184 387727534 611556058 370992550 629733183 686697225 955841514 648338102 899284597 445912144 846846562 352124090 426090118 821799691 860344214 556098211 472233178 953761728 755438372 646660606 530530237 671939841 496950280 231864924 828824118 447808253 183285201 854647242 637684925 600799848 384486998 445900331 514393263 773771521 215044177 528534377 681291190 803530767 297460625 438010728 164521541 851676691 255252429 377190820 944742728 271719330 133058343 186113689 395800296 298808594 650642658 291098171 319736177 696959030 322504821 718158547 477929467 295911156 849653368 964813640 806790977 877962391 872553907 259129571 267891011 507961817 357923273 239715240 775034775 623831706 942209342 336103694 489150486 109251454 326735112 597805090 994482038 914296500 916617020 612112009 745214722 569089294 695015912 492022704 721766296 567317094 743464788 675408041 702028133 588529224 731951782 855488827 944344987 435957807 441826308 258345378 269999837 961957459 215717141 395988764 494083665 590434227 751018564 639885863 852009023 620843089 625401148 940247436 921986918 122839999 262603920 575319290 638391133 209253103 647227988 520409551 239179191 725973227 533829795 610268820 170129484 651787275 878810543 731122938 791143574 308705052 712594458 726670530 892187927 844561576 142904272 438048502 336086129 442104247 789375618 100587172 491476452 212508970 704815641 579059391 843490228 590264087 674999590 603442870 113888786 309379758 117197189 863667501 169955891 109763763 302400634 398997580 120455980 805512160 530553759 328617412 520700861 680871941 213973828 237979064 807645328 141423998 295967603 391285213 103518752 510877323 247042947 743655601 155634151 227984241 967423294 731657891 120601829 123440068 407708207 618829175 947916746 166055617 515967750 251896523 161031447 244125229 112654819 929504275 409817968 935766569 570973004 604668653 785364293 757274904 408160106 907456332 194755751 754070535 867210462 757205199 829062783 957953888 540121191 178374861 412943398 831900920 513984345 359337323 980519920 622074913 369547649 497073645 784732898 666854172 915178372 220774040 986138871 170211510 663571298 538174371 835743772 646301325 126448900 146194056 708648065 245251086 110352260 197965773 476597587 942260608 475609218 346986216 449980052 579900019 628489685 178962757 306712214 104718005 373902409 734719541 413886227 588986693 600442860 652670095 921452086 143724472 237650269 145123572 858253320 101533926 195887772 612008559 599472721 287651544 443713847 968467336 546796468 543740055 773848939 369783246 963951145 971602043 522661419 873245224 728107216 817100935 913939900 709636412 827789715 546389489 863622767 201291687 883030579 620949973 615951348 876386730 112932177 544230244 508691654 552953818 569829401 816253704 416363056 659947733 216018970 264020785 713034074 256189686 258331460 667541571 834785681 544701280 631929989 385755564 646108121 692556637 797865569 160688001 598326503 589886259 822114554 201141302 956495642 252124182 725585031 805452518 390866954 941772578 500297184 884910884 674980668 730033605 738196122 787079120 238537120 680886803 377990255 993022355 745146650 517810630 711736111 320949777 625570831 167829670 620825146 672977859 243208089 455334390 664123601 620281664 805761272 757524746 185917789 788204234 136491183 478517403 575171538 100649536 189373449 178965027 415097097 465636249 783034259 374165209 211291465 143289658 381004182 975710242 864825983 726835857 128190598 932457621 689405417 129321871 642408612 827885261 215014641 532190288 325186364 218880176 451032542 631744178 614774889 437790486 208472861 508837729 725800222 175884065 394109278 979038791 336582041 506431861 528787568 346928651 868997933 627677366 861904531 242895678 615959980 851360583 843468969 879850887 837971501 524360281 669063125 951870899 938254803 703068682 376381635 979057400 351399603 134495317 187068976 930681484 623527039 120392014 700348717 720455824 726205640 152062180 113407418 338813644 922418359 854002809 482779522 282968565 211125362 250726358 643387792 470340422 341485589 228190658 391177126 948621023 170078478 331490244 692034702 859354525 952356336 692245270 960830604 222847285 188091118 731812650 476755745 236234954 945536694 694862877 533782103 373442930 943928615 395590783 654680797 403346863 762645643 890681946 420165683 883746446 815361149 326247798 809134843 550123911 920755517 539026819 204681230 158535289 691236186 483915029 312467055 392234266 989211915 146449925 333852837 551653022 611434754 876537869 549649872 666746299 307842964 681485288 977864760 861695618 378672051 396089164 740672671 901144852 669800975 248504970 826561842 572505748 260786877 181306613 644232181 139444810 440425944 219843655 402139541 661640461 487345642 106087444 397421767 704615204 175652836 315991875 309927968 718115895 403996061 715523322 109554946 221271110 587445957 870951689 630052853 825312508 576008047 618668371 493109916 400211013 100699724 104231490 751418564 557655385 318952938 555240472 550811056 949988389 525405516 953395366 965146841 452290551 634939631 993298119 650859219 259635025 977410256 652866344 753717579 861078350 450365778 619061825 882782818 822785008 778445649 579249397 165726063 361600616 786951313 903830202 127778251 830262512 664502096 595791921 119392433 124992816 361717936 425693080 592142352 916131070 660013770 600977870 627968615 349144755 332977711 563188916 432759590 599393006 128277947 305531383 300538452 104925450 222353032 974430807 234792039 205456119 886220216 688524721 696761921 967300682 259882071 245332026 357759549 282590897 969114516 403630362 439214668 420884482 810050531 587926094 939206672 832652237 225260444 911180615 795489618 406510459 351039430 569058444 562150422 851130701 681559132 953516645 656353623 163762019 335936543 101398569 782771715 366813578 928690811 447334039 864111076 226708161 752447410 249752054 651277246 176847019 347485651 140785394 999237998 272828413 596125578 382853260 481461610 315528405 485501181 179943586 192912612 227740002 543266693 676090129 444014843 804571319 100868922 881243646 404250565 282218315 760418809 372932823 467711793 621270941 571210450 806026327 293339778 180264660 494014171 715179878 525317124 600060254 340761285 198178277 978583470 443918311 579175200 653843817 288537401 260224745 406689061 524806382 266707451 461448122 874901618 532117852 787389829 147570436 553045385 653721940 770405842 621397710 904847324 948083266 978254892 511207290 900287563 706202577 749975341 729777897 604182399 562863677 983269836 542401432 409132808 342857795 790736228 397597468 658737737 507707400 327938261 156745982 322550078 101949039 176849678 641651649 936578299 342651472 235782607 433739353 438110583 208222028 921224112 180754082 682223794 838909717 398706112 996168510 198010314 206382307 499255598 622837502 226943335 167430411 569393078 383497308 564216116 452397317 613343250 611035454 799848002 238546673 840733092 423867450 946599402 313768711 211387836 192949307 926669357 624543487 108952561 690931407 470913664 338457553 700209589 586694519 307193328 325512046 916207349 686833731 359584638 538090762 342169257 577439581 925509224 153653466 367716967 976242378 772112873 649992623 474448482 586002142 636570218 921316174 168972838 640109835 312327583 994898517 109704049 492316770 466780257 316791895 262321331 168385101 920431091 292116641 987498409 860199985 361733546 942263426 240507077 646560226 735184621 921908883 764691052 320282407 317297032 962727529 955735366 242075692 295128594 388459815 289978308 209539622 264991169 775210375 233659389 133402086 291828923 731850480 826682179 601406224 507680011 496500726 626476525 730461690 544114495 586819743 879468927 722903825 927767968 483600559 419997517 661027703 775408591 319254042 849007950 952478385 955561490 371921581 475016354 563655546 864188769 643070622 262042954 802442872 429753650 875773981 569473836 166689727 874392611 326902700 151285099 825309568 634380678 822256834 309221173 158045033 208163141 750612301 788885160 777056054 572259715 419726958 715364324 917374170 550244156 307719454 887552777 320423670 109700615 577853268 286794918 736321803 881021501 607616582 957886183 858975108 996891350 771471081 125353378 199679700 289338074 606851150 570373458 385092218 204642000 742779528 705607420 288399291 960276719 776005550 331817984 692673577 587512636 781069778 208689679 798178051 710448146 127472788 210054782 893476918 476780241 107279030 139506942 953082855 318114861 896484039 770203220 924818480 543394162 912794931 790257235 508951407 126070349 261007062 747370677 648316277 801246649 649160227 670892792 380514091 383255406 260020301 732571378 368476704 178642695 463468779 805718842 732675993 974314539 167010410 157660996 229446791 746292516 241079032 536448156 726984762 382117759 960122920 246866433 380603900 422732169 896378332 117704533 863696612 850402823 315822839 274392278 301923735 736478449 781233899 928295700 360820650 213119103 756271517 951214688 376023198 944589652 308426184 334171594 147029991 172753726 218141508 915046938 303423520 996232903 947456318 253607786 847005023 839409728 924351554 315942237 503937883 263383298 235190808 809000363 466687552 509065578 791817709 551359779 105268161 160206316 278992987 724099063 312874767 278712433 850367974 733498473 365212925 970172273 439317618 115740477 734850305 907066746 248877770 245002531 651556185 481442840 181960760 580639437 436099570 788364659 377109091 129034992 651031017 801683880 266594305 348565312 511088564 343650462 253067532 200523370 414150721 635269297 447871455 585006662 298735126 932267075 978946582 642271796 247580504 724198987 460193405 293118589 954004146 301712273 665074243 811203634 854517835 382391507 319862491 817738178 583036062 979538474 949646007 277341564 912489539 962979989 591895213 805014162 303194719 757235442 924218187 241646174 110589672 124603941 667995688 506995828 695941516 259913582 793903566 935638087 867297239 297266363 895120858 410860682 805679488 937643550 250745069 105487049 994102712 242841994 576755576 871666447 479583812 436780051 764117922 534268992 335654367 690647849 501875881 418813368 307554013 119744147 622499560 670571723 340429994 742668363 310145017 210296113 960257868 674637073 813204426 686028826 834064610 351399419 152859685 565673145 629991199 174529723 509501453 258178957 592123220 385959643 793636210 374341363 976308064 293620090 929901661 267182564 809485861 200779581 638478327 268857019 743816223 541504307 499553079 460297994 123331444 556465178 864030401 104280988 451481993 127614767 985087680 692862140 801526608 902839698 416226590 354423820 913761198 304573009 613076082 424659364 762700673 834601902 631517130 969521449 262776108 288115420 977615476 547449560 455082582 665936663 456667775 393075093 500456290 301215291 657145024 162053412 607477158 891222292 188757669 244724712 891981641 413892122 190027646 130233343 127228127 757690514 735065571 523129939 421380981 365867166 411317658 776008585 652364825 396404684 475910414 636875542 113735031 675177398 534855377 343259043 177615290 825267531 579980593 913922019 144343616 879073331 374721650 142048734 384522367 967570018 184920680 824683295 138524842 877584598 505763909 746054796 139060514 719519183 199688669 758083619 668887351 996940901 739251089 206805600 351257222 165044455 988802533 559641747 573524817 386115191 304882994 502124375 157294591 691046901 394961764 529891746 420569881 998357290 427777528 358492574 828478633 619089151 921004100 207314054 674565031 703558728 883274826 563249514 377744163 950237861 676108795 604194647 416419996 902444276 544547828 683135187 211099043 853096150 397213302 293264496 826693405 779369112 370978764 445981204 689238668 917805467 407815894 151897453 834477110 706602775 551465353 832846014 685471586 912488598 169798693 351259311 550350609 678442576 689675313 671857463 708263661 855197260 496956276 726269134 776046288 687211877 687552511 446556120 878526146 973414328 742892744 669906478 177726481 546174009 854550068 252963741 125593739 631278246 552462907 245562588 995299969 667587059 629494267 886925861 599383772 259394510 817427792 869078382 822028974 186613279 474950662 415956769 762754649 506837677 174203169 878128274 255371671 555975631 383923477 852392285 466936796 770089729 646442724 651538680 529826603 522133991 688561934 301726779 555735520 687119464 691757198 253605526 122631145 770044412 757013434 635492655 710951574 548494693 406696654 668455629 420849270 364972242 110171012 108179045 580179002 653843180 161363461 205728051 496386436 779625071 467806429 666389985 751798613 789038790 424816711 729070205 975157293 533973221 666305990 930713437 785619491 506784966 122788810 895114420 122538086 320754094 907001841 420976237 918332240 413513251 398823697 568469427 564026383 721818029 427060775 900806233 768616284 902153292 461633557 441136785 132218012 262822540 906556892 827723699 177043651 754227136 567507688 662241553 804167809 470023240 564432021 503433744 472992755 557580492 987818609 767451619 163105891 662218039 575676065 513474150 374199958 569661483 338123256 179482492 382003146 182282370 629148205 176225454 477889701 588439318 809020757 601725184 419797341 981070786 764739597 780577579 199976202 931325030 712162218 749661249 232268775 361099656 749077564 149879748 791995585 694025692 823017102 133462255 409843492 741688369 424542259 620663066 185848326 978858007 869168670 133782742 433997635 806476828 533236182 812167424 211879870 175487923 224632137 501996531 203267895 238711635 316850097 826736390 195667025 364395429 816085047 669901676 201092375 996732741 724511905 867858778 484297123 798644303 843787175 736897402 185302691 254457512 271824528 341255622 319319976 508688167 753802976 781397476 356221939 200802904 547977846 829621438 594117207 320994156 858168096 996591227 527524784 430807733 121451620 873368201 369009865 618969712 236159647 715857862 112855712 709075973 900107069 180332402 469817037 381541977 941551816 737017371 652156406 469071240 409003968 875360743 993273783 333678856 146039478 813323837 171194189 229863441 211894061 898684853 471232843 597382328 163615832 392843201 478039633 894905950 933447794 915883632 254432385 807944079 342992176 505996454 569604490 177591323 818402093 430891265 141298868 187868845 690831694 725494773 886812767 431083350 442269358 805005373 629988257 399640026 478427297 601157478 463875388 999155866 858752288 165997840 868834994 501686436 111372374 383369639 297952490 802012302 564323931 621773234 521295951 643518135 181427414 849736481 325850466 174176025 431036364 800006645 466822999 460167539 843655204 311416969 244640717 227804134 912088060 116139611 662846980 502907312 438952784 286197127 858407504 972365701 696671433 358215187 732566517 959070362 321576036 144255501 330551730 391256391 394392324 384373553 419072494 594113279 829260868 326878063 407612247 558885508 376037912 509844471 331298396 895436609 251384770 590893893 658398255 180787091 760645976 987743968 586139440 757338574 623656017 130341233 711349269 593595245 921172793 346294021 615003264 740495514 778607133 816490439 304168862 456282504 571393842 825732276 113289951 961923712 899640397 791388108 530926844 510410931 928144317 704839040 714637761 284216360 114558746 161153690 779397557 185064450 456900048 428106886 192393314 706928750 192575649 147455041 466282602 150400356 849716756 378812466 434087951 248765220 212091500 899148033 298342076 354301612 463453779 331346521 587271482 337833977 129625170 973337539 539541399 721353229 844692183 315419625 239761883 739035410 755116868 932413065 339124867 987638822 179842578 116636779 744307002 762538081 541393175 369714772 101305128 663068363 664223760 740022105 712832778 378454889 254040566 187330201 374831152 256427788 811186522 506907888 873120252 772834200 474423237 984166892 857927474 494197920 302419317 779671597 559260817 869074884 222804500 856245317 868750257 733652790 697810457 525867154 611256166 920365404 620147969 367007923 422418370 342649568 539752566 570823020 646239323 632978378 873357931 220079496 286420361 411363773 533733003 527789473 421261555 113533020 640518620 642307189 731627798 511076201 735566981 974112260 336448491 121434909 219726036 818899243 181604588 106198283 904553744 457033371 868767503 149452352 640559402 690768923 438938329 396857814 292879649 139159865 105700136 765490391 432907375 404328445 188528776 694634317 528537425 176009480 607743950 951441147 491176865 735806181 800850288 440531410 744764001 863270030 137405996 171345828 233913532 831306867 331094208 158114278 940707925 123672839 765670430 434117632 890435405 551915210 540582996 717948839 980907454 781953473 216809790 928149945 319435630 337997707 882139066 482686571 621199196 915707509 343738275 550796557 245867705 677419236 983454146 344509934 223539077 778132339 671325638 999013055 970015883 908407280 804822718 520774187 693807809 999268041 995231328 945636871 322066310 969743027 344166578 609200572 111462005 409999647 811061692 150252580 713083487 321978637 647916319 337002988 640812344 831211228 697587519 895470370 970977254 426525024 910937235 744417109 762521595 845943377 330226280 954692173 546912265 667318429 764653028 154113041 284558257 804676874 815431466 345895115 955742275 174999606 431627894 551834922 332461488 226638583 899352657 966115813 586940759 975821051 516955413 683683312 387670094 378174849 203480099 521098520 286264223 526363763 655236655 657578145 626353071 184952679 175040670 609167694 444225668 273333353 618320607 933704655 450547394 540704991 962740595 111394621 935573176 523200608 524964632 774137433 583876878 587287236 238051623 546337567 923575280 803218853 255398477 613381838 163237847 504169992 615696844 743758150 723375022 344980671 126688016 997043088 687734814 809775555 297839302 866500219 237542988 910927581 843671178 441876195 931691609 547618076 323924515 475689125 925695145 905390040 872687475 675739714 870701030 747578747 336630113 821474649 697112061 554194735 642869991 578365217 813043611 998621593 843273536 768792481 273010534 745791815 428788704 114183520 641946028 168781035 291993890 586963966 684087157 550711924 129628822 469534081 468320661 321790330 295185110 829707984 299740029 196758709 227132039 628137911 376725842 739616958 243036057 511677160 356013221 327815622 714454893 219990941 888848081 389814619 104974128 700182091 710490446 916882750 440610126 620629213 544344781 473889608 158592544 927335162 908713215 667735107 191094494 312283824 309131205 420960025 421393981 139753137 990223018 713901086 111508399 360614823 418860406 764961328 711888314 817039369 327288834 780120636 858161450 656802790 341512764 872321467 957019225 352823099 189416960 185765686 474692335 748717460 826088667 734829815 820794554 797955461 135323712 349523952 835526556 893589320 183282623 662326541 649473529 995594806 813590470 625450272 571223758 938626687 751291641 663193713 597538226 436819306 678320298 572956643 733215725 342654471 418847908 355959773 316283642 190193347 497884269 643672849 441226799 471052052 489373258 693619296 993015752 990577237 755388975 728281578 604205396 326389964 169191943 838220739 107066544 365598770 420056426 623706760 435549861 642414392 535626804 516969549 576520871 263996622 819169822 490769083 281519498 617198417 643731901 350957292 489504801 582373848 214535627 191657592 662136537 802838303 895234703 649482205 903868819 374585608 263668977 779687895 922513285 857593337 222438364 102934021 852885428 897526838 260114674 152649722 939475652 216297084 351666231 227097238 137584756 713077700 694572615 358891861 341261435 386517941 633292593 279679900 372142463 420829613 317100754 988149940 472488712 436190735 383225489 410806059 368380505 755488872 619323216 799665946 778805627 395189590 758930068 718335051 280195918 966353228 944790073 350572070 862866161 220917278 135393366 876501944 510655680 309548738 285896974 749070202 268091019 248003604 934764172 655660695 455078603 197387665 883021062 710981552 377590948 534680896 948325903 679348595 649713702 227326047 582081478 300427884 702608888 328306819 543650138 281309881 664034969 747146971 396326250 467200603 586817896 123621849 436621269 909234610 900680908 128195184 508618075 260897561 947903995 120209390 909788933 389846400 111034050 691476641 658451614 963477045 299770358 571951512 139762719 462659184 434139180 305168043 349670064 771416959 138808534 952424097 575724730 631395194 805781869 862439406 999474593 380341801 469670705 995275297 882595083 853725199 817418752 823265371 883533422 347541377 323497901 811543548 779613332 426610276 378859330 770438191 726689253 836030055 212961347 330471284 342127645 906334579 795412691 694624182 474201128 201243267 649907434 996737739 953961677 641464946 221840347 345490052 379723161 218860407 541723477 725876338 137916736 197862072 605353111 491504604 687040897 673119501 441860247 597796830 632552448 575987795 558814163 660465898 251284781 623085705 125539325 785515490 854791411 532052769 405047722 897555801 810866876 454172753 543295406 934725111 622006380 275663261 934374426 435703002 996848198 553712781 873081950 615889571 780967342 897972824 815745571 872194609 277786075 146590006 586582984 113341857 417755887 804323115 719366826 477561829 558366659 595607816 465684487 190402032 547509266 757008792 549397368 437014631 278897043 406811696 800672010 319575458 329950780 675884094 215000916 344170988 328901992 851947460 902500304 217474502 917334964 452701097 482293210 495017423 271278084 884132904 868965156 259583843 890179392 323488567 447107217 421360796 354140748 571841770 690204795 461198285 294091804 264899355 381391315 273847544 388166045 218360435 999457665 230431562 945363355 446070221 223574168 353021413 140251437 252612957 248245154 583554689 906214701 728288112 234268099 904532165 812379681 267477249 648460600 971822133 225307310 529203192 625628155 833528648 489837689 360788031 163664495 813908243 456627319 347490334 372541900 609126413 860570386 224658506 758140290 740394513 555708136 732457638 713141425 361932653 366292133 434331919 852484166 836587997 526164393 204908252 733016501 409940279 164195520 643889512 532643458 188542327 468430681 847612873 694777623 980794881 661360005 755850363 793196366 180578172 330420600 683665965 462303412 974763587 133849944 624739049 310014362 726710671 498679821 270267907 601678338 685201891 727230212 351673490 524624489 601335056 465073186 558934398 947491724 316972695 167742289 360440204 753464564 112796229 413215517 593013474 618648932 852132700 920349583 840226377 945613710 408877125 517423643 279516438 618242205 350313644 114686170 225273093 443045952 657804214 580070318 665155116 245224056 414085781 518654875 576361366 669877015 813164955 427381463 409300958 688098302 929184727 691777869 586123926 756802128 273429390 182102369 207020584 265412691 333206110 539708882 944977386 242310336 830153689 788550761 528359321 519145064 701260934 697648924 226675074 363995260 308424750 125159906 105395490 427890839 639103890 246177289 353804426 688403498 775261006 659727270 319872597 213147330 145340490 858722402 722065532 783723415 942646582 300568131 150041712 134973234 942331750 745248141 673823560 267410204 187688228 604404526 401979972 742631057 244668514 857076443 659482548 604532591 969986673 132538979 435923964 517900169 242226204 788561384 877677016 883301084 665347051 817078841 161731119 263903203 601041546 521552364 150006268 396466940 521577162 343399704 649785215 196161248 540603834 953665359 736676977 339083248 986143329 710164817 614582599 735539454 286639968 663267666 238641437 957819656 695186788 251488469 955076269 603335640 983121893 376454568 174268149 193498497 485959158 336429925 323708258 584657178 939323750 158799143 419247756 699239582 828093185 636497037 533720399 356652713 537587678 958827067 113694864 611082920 322570551 909396360 116685697 737973097 508924902 265876175 465383025 321478535 482731242 866069903 975428730 102435792 948707458 407945963 944587347 455997298 968794240 371533506 704464542 494106139 749630861 934344132 719575442 828942389 835456370 183742181 636598545 566035635 423576323 680262619 661271436 400247539 955542819 805856178 411401052 569133849 795589109 185288372 518739008 670981330 585521629 475160854 978654675 208686192 688996349 913302053 317691856 141899414 245184649 904203764 928082227 505875056 529072226 236231783 414322681 607743333 155452905 370004897 415437196 598172093 254327504 553275111 158992149 403961688 434681273 421115606 629024063 727404979 863711892 838656776 820565508 766187600 907026716 882780266 988430493 169713453 598467389 581316568 912097604 783669350 738380527 120137194 488095269 118923512 385341691 584136774 210539673 376065637 215023897 456989727 341494166 750712157 724407667 399145900 240861143 219870330 607771141 613060933 374612062 396666844 904051285 915731183 842228318 482094668 554835001 230451836 416329693 143545793 929782697 559823487 913266386 545387105 734850122 359373177 325852446 561230859 412724009 954181997 190954478 772225432 350291309 575350457 618804640 131008745 786054829 745136999 198441024 881192855 755670696 120679809 229739038 245653040 931522808 121990936 557560639 366904701 166020129 737928490 283952990 253546083 794560723 931171446 370972010 121670862 420753452 785879823 700536594 593820972 965543741 855106397 760458311 801951094 564958939 944597672 937373407 352877030 181812043 491142794 749686940 640382506 305662391 723272452 224134431 672249564 122356506 688978823 788706934 474775864 616978459 708768205 464615371 398552292 149176101 715114417 858934848 227656475 488820989 260899892 837680877 873852002 458232131 164251461 409088527 919922262 804135464 458279144 144416735 654284935 943608816 732070113 714168309 131981649 833787892 669314197 202136834 653150618 891318646 816607609 704447100 739336930 149143882 614872960 411235125 493815475 941652797 392335024 823440276 772784047 150866326 945110587 654198425 377569411 709682830 379668570 316672866 610457657 581812937 134056215 268084582 205801971 126973962 334904766 726471042 957007448 910396304 671721396 426153057 294115698 566098557 183942828 819121927 443246784 115256908 930780915 737179519 111785368 338174516 396067243 148355337 633301603 670654137 652188027 248784289 349500158 227394917 533319626 980888248 688181360 388716225 245004284 796112869 537529435 784127759 851053632 143616371 266763676 775314815 667735946 847695647 833782636 956743106 359312223 615017745 783644470 557030590 373215751 878279716 282337813 845540543 817866556 475030842 883035488 415095122 679261936 369584428 387799086 311594383 227260557 967648275 429387121 407437902 265482204 197167998 865778718 743561238 946914254 731298680 456565584 445790278 461109572 220181137 624946661 142863474 697093466 235056617 773806300 712261004 207460798 646512059 674270910 244288253 817362649 854597568 774058101 593349234 249212145 254198522 577519257 681163353 518125595 170982315 423857448 212500462 173339585 622384487 381641190 346275356 437074001 898468721 759966533 682420160 874954813 113405210 742303091 278747485 557961079 946268386 291973252 789039860 312520806 699046548 146685255 387886763 271844040 985244688 757742264 492196262 426850878 764398191 212013025 301822038 250655746 393646684 773376637 531611312 299993177 641879665 215273157 468797938 757995344 336276219 871952872 286579817 134639855 584455264 172966084 799871492 422351674 556918169 683357483 314651173 563812424 894583148 374294581 290116173 350055581 959133866 229751113 495634965 450704940 951742235 656847518 108604649 975832645 433691789 882608972 643446797 276548143 707410049 365929974 167586904 836416536 741761956 197427306 653156673 516432537 146442299 833550511 308707587 551321943 263677725 733030199 692030729 408840286 590318329 669712797 368829360 611284451 974863533 948814272 566473255 323208740 478676638 916948981 326254123 629451494 360866336 282425904 555529843 223310383 516526760 966600400 729488947 797162788 769243460 103120127 637808679 419504044 816528134 731220688 947109607 888468576 378092135 695846230 622252023 233963641 528549683 448300071 390691874 338070257 772316721 658832391 746522725 143312204 896592907 590003943 692047429 273839070 136512076 407686970 722172250 249787707 369373460 317970347 723176319 838159054 495094491 937356230 720490141 987408512 382379105 628444315 463092567 152561897 729936686 466200550 490877198 394705999 827784031 770652767 543660074 467964462 597552766 285521637 932330398 274165275 540561964 547598628 842917563 833787310 883355908 753418252 669270729 390421754 111885212 176319436 475594780 239765726 257862761 139326980 796393819 380535618 812209801 848232522 592181019 681628820 703721539 744384375 953213187 567872522 663959930 918618004 243316095 378468930 578643044 647726582 121592850 916436391 232206640 259150099 399918545 609654454 527913142 101440480 878123305 876948445 608133437 230822890 821399536 744474730 522323179 271300344 399143034 703349130 109547325 373019692 819882010 552850355 125425958 752084946 905115620 836016913 665762766 335505404 855745130 654850038 809213610 444348669 455837706 919013167 556582920 323023355 871548606 153909703 824913174 149105761 631558744 469546085 463321876 346181139 916256157 862315576 122627426 233651695 147165619 971457384 642302804 842493125 957651327 461047810 664500259 904223232 960180402 526040073 894367361 364118176 870919617 594481825 560712455 520292673 359526853 127506741 400730285 113769288 502636819 478098589 167128804 650574912 197725522 743944543 605093899 745680664 103752330 482371727 966690940 878145661 288219415 707829850 155694585 279637251 690994572 177738902 379135797 642206867 180213897 525477259 343336877 876450557 945734803 933195873 543066794 382488349 612207955 537591800 660399818 972531216 681496439 497190529 335037515 383959125 372767938 168217131 366993032 495709287 902288057 503000796 360037372 735310546 429465543 202080399 629991470 516481356 721307504 358717137 291856195 856543829 259735401 305172886 949387409 982725188 522759363 225940813 332874170 738295662 769765029 351674982 173544400 742593404 949652933 395833627 774830530 550711620 815391061 248901885 387523418 507423325 463069670 816984804 159686932 940163276 416119789 269553537 570550564 289121815 102808634 650779988 138340148 896134392 347207634 285545374 176085691 184674720 783685778 690608022 116960767 115832912 379209310 245376812 135210873 883094415 193172957 694833923 197298094 546698944 513120990 873667545 336349188 521235443 938448590 296383942 592241916 639004095 219640196 349666784 827953864 642513258 905613470 859772836 487203947 504780370 177211276 207732308 188836344 917529963 951081474 349155682 645431288 712796788 265803936 743981535 496527511 815466767 368593583 796830460 669079942 357286150 681668284 167051358 595502276 902722871 209270204 936599443 178305016 953923283 453231424 473959268 885767917 525141407 971694873 135185467 113162112 876220347 685817030 820811842 494864601 104127199 912746011 946198880 248816533 549741255 869986493 726525695 627268243 458384184 826071541 181867724 414959265 889626333 313712404 401448919 934706323 830147110 927223347 845156976 884690752 385765694 717769818 590800195 890718388 762415428 502017783 640573696 405641431 608491555 166443791 562187548 138306948 219305375 287407537 482069102 727976260 716242581 591056053 482466537 492331608 881611654 348132380 537146862 243239068 351544608 936424082 172533906 617121293 314045796 261216948 879112793 970177174 422729304 170012542 631858058 534269321 330384207 282231272 590483797 593094406 539560510 423591032 334018174 449909870 147943054 674692414 955742149 325503490 236521844 587664209 727415393 208169203 576630523 579332327 355352629 983337169 522886758 700915699 716483190 453710819 425462972 732319129 568761315 482984234 247259388 307304420 359694456 374633651 234188845 871327786 425457944 520968144 332706866 802330867 842891934 861148265 617158497 888624568 689034773 451682057 150112676 172278087 833439979 827329202 622832170 484833497 816732550 152249933 499201692 391337929 353620926 184549504 680239925 671024982 806194089 864362469 774117078 510174632 893899579 970303563 845347418 883620208 455992207 627968911 872618609 492816405 180086407 677885168 791953267 892048092 931549111 893120725 936396381 431452811 315327767 285268277 846176321 234322488 399767479 888217649 346789399 660073389 357173310 204097083 114540685 616140985 829848770 325114804 133213076 344519361 988577499 792023022 757322113 667263631 556946590 943435622 100376771 977626477 353931934 720479438 661292207 495346537 661185683 766529299 596095399 398961130 976013843 682517439 335783867 700497864 847803232 917637144 748661603 408116920 119044359 132090909 446257524 406932344 644090053 810026637 249561895 488274646 829765302 395377247 239481510 299374325 942425510 253090087 355293892 231590666 120847493 505232709 289555728 583455117 106186797 507670808 168398039 631874564 946347332 792335355 325004216 708109175 855283832 846464637 424388187 532712348 613089058 514382803 328504246 356816430 454534639 513546244 302431924 147970913 567175118 215012087 657788160 318907725 930817313 426678816 460297884 485434722 111845663 555027051 347187937 611027188 929725705 949951760 583358754 416266971 992912618 445251867 272806571 780493352 475093709 436368057 368270625 483295450 673332249 284115520 215228674 500143684 346167938 808537008 621223523 757864606 262389221 301168807 681842465 113191879 435499111 441460736 111819378 758179533 891486563 191186747 135782819 506283763 881796848 728821840 567854383 974694505 624046713 992906836 526617809 435532116 382659259 245076566 826172217 663387451 335908383 344384992 181755182 773678275 588777556 970920180 671783484 145339905 521427789 607246739 232734653 996171878 750832858 537767063 414022787 144370681 903033741 700777798 923038841 360321558 105936701 414244074 795983586 869942954 913207484 784806433 783134037 594958558 998838059 124941910 645336326 116007998 340165757 534798905 394703640 552111037 120551595 415738002 370036273 176160459 743670238 298142668 470684059 549200031 140591991 211090206 639977299 937614568 429686314 717201715 446090281 552672734 394567348 105056539 725668227 544283346 746078424 549637791 938814857 474932445 906725198 229538877 153494814 507339190 738409170 629685955 420465688 574108267 252309588 634993246 197391681 884193253 120297085 955189802 994420740 673291030 779289875 728485037 889194741 749206772 139762292 280084645 502691982 715421963 119356324 535076420 799451951 225596965 636149652 716216613 676584698 617002154 743520518 177823414 330817962 704029357 364053384 644189863 388987903 901508307 945718690 103865475 713273000 123693898 282485055 722480632 533929526 322601220 523230124 855160522 610395644 548290829 543247403 695014092 977812868 116503652 135407392 848057121 544248592 508417161 326079413 174222092 893541227 828280840 761526254 483142110 145208419 771927777 820508715 856439618 511110936 431375282 403152709 948020603 185173900 798581609 562242290 219216294 929628747 946169454 499883939 833274346 306342337 387896982 279240934 674023431 119273669 316884942 470156157 616989092 300857104 831814331 819198930 304106875 571732825 588447379 477751752 539898832 749863565 980929694 900387817 771480463 386920820 288146455 515263170 490537721 320214383 827167592 516542982 181722960 708813590 373347471 750645542 209350269 180665483 898936232 478739835 873196956 499264639 265829705 262440390 981073464 598097533 517421542 108415127 141662128 887216059 682135308 146977383 711853650 697989733 536284962 348501487 653858956 418881122 594221732 266385354 210256301 928946720 552025423 222288480 914959798 149010469 473016561 769810357 426968320 268586952 162403816 638089491 245597487 419830120 597240151 718444892 839033599 824965296 868176587 620059100 518020352 769664684 400075343 215943076 371494237 292692508 851245963 340354901 310958555 955762620 374930949 824748713 425932844 149877837 367489625 850841070 673693965 959004208 433536340 796554473 397198339 372954709 861110737 445336307 819581987 436779618 754390839 583722575 992700830 511800716 765736533 771882018 760696597 878853172 754107995 103822618 212018445 124199469 303988684 342388893 982945328 367093165 524816911 222270477 877096591 937335744 703636269 689728010 184915385 560843332 954535349 766355927 106837188 319026162 431684353 169602338 347422688 647696566 328532808 581286683 406998411 917092541 376530678 846373613 516492296 663439989 449232899 821909470 866125977 100722716 310986874 201367328 812108477 599054145 253690068 613367263 467872441 843352553 967677113 614043963 839902886 607298777 567193563 216869727 949306860 204775449 604754585 962202268 101475347 336429117 354534404 377872939 719401362 642396532 766650911 599534064 925372092 123555560 962566753 223822745 958711513 801228636 188239594 942225042 391818146 773367654 900206781 328060607 124574492 329968221 586054524 650794393 494130453 270803250 855879841 855272997 491005995 671600643 933270864 194865220 258478240 178574720 426976886 431271449 428215303 148609001 987324937 111307132 632199178 337011606 759583949 722161173 178738003 903922738 882006016 228362015 993503935 899001640 408569147 772574767 174408510 244878313 342803759 334096792 839928767 276833787 181887748 695538801 769634064 341811100 111354944 671366056 713096722 799068190 473386229 675616622 582254878 898426637 328588412 528854777 223005486 814101886 229260041 147948774 463373226 335189277 694355123 423436631 311405715 710215681 891704116 289852651 843399194 560103829 645608863 402752196 289015143 609151800 934543028 497486397 271057189 292089178 315814621 273434917 628195820 496317217 787705049 817943095 394735018 121367723 945845567 469695057 644414762 794817838 105793974 585518288 148108219 686808114 741441740 495851166 713612632 144140237 215274216 885344598 257601171 184491955 522378763 864408762 739673465 753223614 354590024 585404132 881889052 108453405 588565021 706891248 542526368 448637624 512863594 992830508 470932843 989282237 462765351 411895143 419055681 144637222 232745242 571913753 486948534 915670309 369717043 183299552 792572858 854385121 343103526 177431452 788975665 585286917 302750691 843155593 301169809 123170745 226708516 282515869 385661833 118910136 447497176 561171566 478358237 198431985 136268182 471402530 989504989 763520421 845137293 725127282 349061076 220817286 171237391 432500162 242489560 349028209 331680404 812700409 744050650 649936463 380854662 377470073 103619374 401833277 863890297 925789048 495435109 445524170 484725526 484237454 981003877 147313655 661588417 525195171 655401742 390821981 540551930 512840284 494094821 412982741 104870713 761588043 587666571 565428881 916046273 275360774 974287507 343024164 633111877 292662857 361450589 449376255 220252195 666205682 875444042 286873370 822509381 105997878 284135804 653600661 956460097 786784704 742509613 440635728 272185758 834071992 530538483 534564829 616162165 375337596 194054371 373831059 637518553 708010837 166393455 322802438 702977826 774201993 363060623 343471951 619615689 642381899 762069866 635326341 496754701 789741219 573464445 515622153 583697867 911601769 424335896 428994534 364251788 387217435 414103083 133240516 912684444 995482589 675787551 255811207 884569924 271067741 441679649 484914893 249439279 712263023 849171506 741524447 936224310 864652036 977726792 807532511 519645748 814649896 426367495 451307305 240390275 166872180 306222594 473983030 520221091 520020112 931145951 209949050 276040725 927173012 234230002 641957031 120571636 966232863 381183401 839617079 762010184 602751125 950408393 140449047 807386982 891167111 569237878 498019195 339556558 556635835 502736090 401625697 694994449 689550410 100954416 725914150 681799447 603706907 588496007 164868195 123629964 785959455 476401345 900651059 578354862 991330981 952106640 939316398 571000526 392529623 447812746 444166175 614888460 921753379 531721652 682523171 318001221 851239433 790193999 193961437 956138988 836908976 685703789 352298691 348517158 104403752 690567483 784845380 102344456 102580813 317819511 601097763 599858952 445991125 640142790 166782461 370029384 322430271 964978147 964548160 134954134 597049609 365556316 528763092 377777764 595198698 666844601 245992159 727374808 299265865 830560847 175928493 552426625 996880120 533720937 756481360 216506702 895132891 663814077 472700988 344835484 296780077 110647862 679146170 905587504 875708692 713501552 428990497 485593124 248926502 482316846 927740028 220229807 742100405 904923201 584678423 282835935 471478328 502937559 640848240 585418090 310335731 894190696 557250217 425390504 254172709 170326533 992020933 614401342 522378842 915676081 592552767 679087449 773827770 519964953 327473164 465171428 961354832 692819336 562646191 930075355 993674429 934885156 942965873 518711877 122448403 538607080 192988703 615786080 988451294 867812993 680910183 668312090 704291626 115302639 876066045 313725598 103332751 484146064 634970933 914787360 328314107 767396056 150250818 161493425 135021674 484965157 426390315 955851515 688377592 609697900 119232699 470195099 101235844 581950060 658811576 465208802 869190287 923282589 999612860 262432871 126132955 879744762 555304241 444075344 574604709 400261794 830272234 838026981 951286082 872245440 175884790 300517425 616637963 330183773 981927591 522291673 538446996 543280429 179277345 575837715 861904449 806468000 964508697 718015116 525704961 133066480 960481038 644813555 740302796 761395783 925103260 547167188 405656047 484970978 404825422 938732030 228769857 639564565 786454379 532577487 944085164 815557092 640236119 690385252 766051742 835747540 564976789 463543987 162022361 159705095 442486629 715145876 496024804 393403399 359562987 642710937 821862135 985560061 722453724 954772623 934929030 174097636 359463590 858525851 970154627 959815522 727544325 192639113 676946712 272126373 727178267 559534610 421294635 873386729 574865483 686385524 750488358 535579087 221973262 105692163 171748129 199264343 104346756 544261644 503718390 376517756 261748084 948743246 110590214 757201675 633376529 777819993 511846273 152143379 200556776 370696768 153977762 614065005 814081018 306074750 135823817 593813595 148654410 973292092 670279332 996446074 201351442 628481737 690194234 105971952 527345437 988568212 307161417 645147364 436400412 901277885 973317830 962827522 150724428 608583482 119629128 878323775 406558291 434706969 531293524 334307586 816825243 551226044 469332423 979095229 114430103 994839197 428527652 148419364 858106088 329185220 570175012 693818391 579571965 382576690 596396139 588016932 406988725 218022878 727929051 304250287 889407433 897934909 741338066 761782730 178994816 894766114 244308919 943423182 390112936 629618094 883854143 211365116 166671063 148020387 223169222 770260240 192262363 544706069 679247071 757152070 879919900 154885984 592995288 101423081 907195577 739848473 370853467 918510240 407807641 391373170 502379079 519350381 575227831 210687525 762803150 326584581 419282012 450220884 219326310 785524274 401791805 307384277 498256972 536603822 956116085 623797153 613164499 304389317 559175892 593012530 652201445 926288678 427024535 308332387 753837620 447079853 399166627 778731686 830699017 172326642 109295988 643581982 572323193 811878799 279125531 561132842 879769192 873092041 196833701 204401234 703538215 163836468 752046226 964772824 382979429 274096283 711740004 104726446 117064828 937361890 131652760 915684480 548642791 242958790 300484105 935505376 734498763 542934295 580961172 299554446 724713409 332486221 899314241 220000854 878818059 823465303 305973548 646235917 496334458 212177070 696089544 991288616 202891116 779105315 319094080 581334452 198370774 183600087 975470813 266033974 860751046 615031610 512328041 612656890 690392058 285829827 639166675 333462919 526270366 145938233 394061504 249666633 334105392 582128361 561609248 634615865 237779384 731269279 357678153 354435405 750992472 239161212 315871472 364417841 159044732 728418696 823135187 447370852 753409717 567250171 389589136 413217083 830468110 161100928 441841705 962801388 605950111 213580187 585211701 275919840 492336196 618455044 438812892 762383369 634906369 559829788 626777482 429172160 251847683 561983235 248738916 863672122 308741088 635248334 734963357 212880548 373127112 466678023 115412923 463006054 410678960 991267445 216332831 840106384 381976518 262171063 678905088 153438410 407521408 909710318 228316461 963838790 636557002 537587182 336881927 403768622 722811169 887633245 454779463 380267041 279767076 562972498 873634886 431128577 557074611 271610437 306459904 200034195 840478411 187294218 808615138 128924170 577641206 723034621 653446973 260857773 152754742 258371092 749497759 195828843 775500970 406594241 605229889 351835803 550320714 313142149 719856530 203092663 559648728 953906752 161088855 484463753 159519031 962021986 195641687 884323472 211234773 171284981 508974428 168614382 875132218 775594343 832984999 657085582 120298709 373285068 141068005 975424445 757631903 737270777 368021383 149204572 272727868 681166098 918149230 227864463 713524424 131085920 456403275 762009025 214146716 325448433 963529054 914608599 661400481 414415428 800222658 489894678 116061285 195884365 157288433 989159865 630286928 829429846 407809294 531240987 385391771 751408113 388541712 617750108 790475897 842362303 787222829 713374771 756136586 576593987 104743855 365511229 489096638 542792550 351381710 290770899 410680405 821482923 129755662 897157500 237523660 760027114 829966040 821808376 307805167 131454234 117504703 925589434 696797805 689697841 456818734 993963948 407024732 946042836 937016561 333307265 158231014 520852998 513589082 353959013 887080869 782042654 454551066 823084206 476307195 934110043 678760626 981452901 367759104 259415755 889213524 368143713 725293374 159886797 813638294 534825349 391165159 264768151 253374735 344091497 611582081 424894671 518458010 332777375 387122893 770245891 175093184 151727740 943447458 966649800 526248376 457386915 835674181 117217017 551181344 509149860 372715585 873522557 405169676 628620450 609545215 540097747 270104887 725690248 312731195 882364638 608809035 516409435 832123026 459469882 799189304 515509315 978242710 881418621 990756116 585038718 813603830 259184286 432439709 378236524 478231227 153403246 893468176 620076559 471708955 153911052 387888424 653659111 460431638 667221223 639914634 769600765 762876442 589372406 673839287 745643848 375002991 518402711 219636365 473013749 337734485 275384252 278564672 985870265 376676020 325107291 153940022 418208010 476888999 476144597 289959636 767484861 538970747 715475427 650568403 842969572 746488531 693617241 161304193 258735317 688643568 573239941 846462740 351649180 914904952 288607259 316208693 656595935 548229147 102579502 797328780 876130711 291127545 378785329 504497553 408241094 999143000 249277792 706442135 511470881 841201284 852865092 199019597 677377451 407089982 615109864 327211072 564524032 677987464 941403404 518075370 585347379 881910852 995585309 439753184 700936493 186059101 609684028 462678783 429150484 167115158 541959658 782268319 376119489 222053737 526827720 931102085 900814091 525751049 545357305 739465073 909695362 687819531 529670852 853633768 303370099 400583416 979208149 479570243 534669819 721792321 857532878 888887498 332392630 511102338 102302062 666660482 261797219 490437121 304065723 111826620 272655194 409768165 143294243 728156122 475420422 298071970 224688517 741221689 395861310 713329530 413201466 664403611 778311960 550321412 706597545 136057718 865247689 968518228 723860474 223480090 456763868 592316669 367772865 627691240 511725125 973394226 566099943 602955555 299421383 587058613 376945427 350036519 819409225 319403689 672892473 770124842 351622159 780727879 935234207 818368945 949727223 818107262 531375530 397923768 668438959 130296737 297521598 373425811 602263221 191547293 943450208 945648300 657615880 282589069 371621593 252383098 793489468 317841736 262637703 595785627 882163575 175137788 162318331 594227166 632662339 687943937 333844287 744954563 322190051 699361356 331856133 620719221 261182422 603992662 198117893 580045565 744320745 156650790 379382621 411684572 210314939 305881382 966583237 907710950 315171176 638172831 507250227 560348056 270357453 266087658 436762406 150120995 285337810 121274502 218087075 748825677 248560119 147456227 952635011 375109064 940790358 919629505 547672845 365493648 726361253 394344437 815516832 370490085 645698595 138924284 476482392 811765520 288238185 981293643 538957265 648206213 237399267 821145314 477582671 410227702 978424581 395294664 637601788 185229987 849942443 390028503 843396304 235774275 249263552 801046527 835034539 862585630 428269575 329757283 430743244 148696020 785033580 535683574 784730752 209024756 938134359 327322933 735696554 404867612 724206534 267223478 856882144 894316975 436473641 161132337 297008003 569659972 767582475 711558622 973158744 290103756 469777496 910645901 554710238 417755285 533189138 106610139 578701266 910557968 691487168 191961473 997475916 225189294 345318728 129261135 356515350 219498144 917643761 362207259 240243619 128586958 467636093 950578142 960940812 486353053 511213146 827451540 377126554 190812002 971362078 858453351 288043046 209778088 259786108 668097987 243857798 590591170 271827789 262259312 225141629 942040157 503518910 552384967 110350796 526154300 191552317 825415399 719831779 172186086 679948362 711236810 932191889 800051916 106624286 338689593 818733649 733308296 528949508 265398057 764222642 651562644 804747799 863279541 125853060 659293965 867331832 704687258 476618691 362278207 180810663 658774609 778970763 819950173 714702394 635160095 401858479 629827055 822995259 270686667 155405654 335875379 781393877 169635942 538572076 223336449 277083961 936520689 915884390 629932405 299105856 389344446 864069766 744554045 655354111 606074070 210737605 792543571 984631894 497889473 311986758 152796922 766213759 527802704 891647682 498724611 334042932 243380556 786724620 926629535 535711324 440058399 705030113 809187932 113961074 118671440 346688482 162944624 556482858 327621195 936783628 280190428 455413643 587206095 165130942 927336517 931262008 795328941 634214985 695750614 707706562 684468194 594143968 688970130 532853551 796962778 603144967 676579308 904204378 453990475 918423170 894213464 622494372 752772696 270868091 519959689 121615949 434781151 344127188 223405403 969846367 286258163 909097795 253393690 355480436 976355958 402899334 646299681 608757950 282367036 767379994 873692651 645780549 701463858 671751198 310508621 272854112 115258455 815690594 791315381 553445008 200903688 805230934 161011697 186566183 547587619 587410410 921263759 674971224 235331161 461870131 987832948 514895814 584738038 800436510 722829470 320744316 223215523 798546108 879030107 322432852 100208080 335279839 358728429 858477523 218893846 543425287 911410778 158772569 272506346 697032672 875611707 975668484 710980196 959429907 813057655 491481377 535722998 373105990 705959522 494947421 177230128 184932762 789357355 708761771 781476565 519423920 843602164 970167565 170453199 504332792 781926103 595068379 343441665 868279763 954757692 948920825 373331160 338248047 206428192 226030435 730506924 220055383 161039644 597430429 339850216 695886018 902903135 926776352 157189470 874878198 865485951 556527551 920162264 531056493 870641523 568554200 882200792 889103862 558312184 143890383 909324681 829816035 390669665 287501695 204438181 520630266 614051412 603305666 576544008 645319466 439137684 748186433 743298791 284694660 558546492 263847826 561393707 615377361 537033150 292000093 789542981 644092882 659044279 224861286 322447144 154412281 311120577 424326704 443942823 992202511 252388611 663290674 643679677 659341892 325201918 690428798 957805670 359439376 479731701 127016035 725113503 281546276 370915436 775553344 232520874 465241854 287606318 440108318 728378557 975631714 182882387 558810308 781328463 590037072 449129136 366707379 205475257 899855762 222573415 125259103 530383396 459282271 607440151 258567405 626624438 454666444 134009543 387466029 936934478 147185191 650535779 293059748 616007311 604096182 458740695 764727566 108769755 928429260 622677020 698105841 827814213 297163286 833364687 788376459 963965695 334930454 885083109 635761861 833643963 253926072 540307454 908807211 541834895 586086369 455484722 109673131 884616208 191001523 125466316 550506219 137858705 613212333 212404734 667016876 879082707 516968195 897672981 626168310 633864586 734613687 130038884 320327609 326841154 693599680 184796313 194678457 982061629 227070336 548343892 968276097 417574804 443669123 378019608 677415387 294645408 405392053 828747604 674822579 943710929 584449470 997747647 481823636 970188440 300666127 290527053 951921984 733747614 354730510 611475711 742836012 726657402 434905423 666579587 479079351 924254358 944944696 322005167 749843433 258377848 474609230 302948595 281903723 506869405 826418192 343041515 990174834 258492646 799726744 445711291 665451564 171410850 468382595 208953885 296188738 814851087 755365379 798780023 220622950 334982389 652659326 981098357 568924349 368314229 601821817 909321849 151263445 860714925 758550439 454368369 209084109 124591793 177628085 999792984 399613596 239347394 251387385 263659288 691864088 558673346 844926343 323306999 343703602 349830632 685200078 845008342 261116394 312630252 149851203 262580584 634297107 297903264 883280978 185699213 860564913 179830502 793465483 381273339 249932088 952420902 781915569 646287905 675701849 973821114 111891563 295315515 489247285 992437567 840113047 958992302 587508341 955659712 579835197 996292124 152121881 417195549 125477619 460687406 438646899 164169596 337058265 533546667 846093705 837925688 591110247 877247659 367525669 830066684 307440062 450785518 556818581 492456051 245804752 720654275 428779548 550674334 959441373 909259651 962994718 183945451 319053527 979554340 590447695 694684045 615317054 298042930 451746943 736701113 441479194 777786874 428249224 889795362 361543683 442194890 920475777 536415160 369149392 945984232 702697404 207782083 615181576 859304889 999356431 186738861 513101607 715688241 344791654 601120182 294629731 882893323 946044855 535411249 987587491 958858278 636055091 523278666 297442413 817538661 777044256 243492890 219634303 979233676 967237298 388432832 797234415 533458967 827523421 634353646 936742137 566727998 662885366 164971501 965098212 890086703 999411824 201491419 262638714 755076876 722121094 868674030 656553764 732841601 232246857 308555254 325799535 791207045 416984630 869854242 715296927 632482161 700744830 820038727 429628087 957651350 493355195 494773833 561410672 338038346 593297641 250695176 858612560 410833570 364923482 611784397 938235062 392116061 207663380 309702735 979137951 156344954 931385638 997770281 111549438 119066811 798504036 870215185 562505943 162341741 828288306 223355712 812217649 818988759 268991358 978409582 339240591 705542125 694040610 626126929 239633383 432353918 336406148 894261735 402937649 263405283 526176902 559035803 771517318 799220759 736510267 426154508 625772537 426980269 257430637 618358871 596810121 224269008 402697532 105529418 881837737 342779622 833309480 954856811 722694614 415728869 802233520 624860106 569195823 618208616 473316515 823284232 607514828 369186101 294306732 387104137 695365246 150424397 812301021 331776433 378213481 774849465 128478344 983354473 371714008 662712173 527146874 139561642 367432984 926871363 977500546 952606010 208742235 963407194 382433506 136275102 656065868 525452810 239713300 268376087 507175292 505968103 263447991 374962575 744754953 251526114 795927737 795802524 437451670 825694969 725054924 568365953 671904788 818840951 600019437 645228773 656208234 664970290 205720026 604798818 362169245 604481122 777149200 431252945 669822849 289036760 262259063 145765310 837348685 112461016 995692660 717075294 285651905 644746286 894488918 253188724 691037908 539253075 925201250 590505085 841374555 843714320 178776760 567792146 637347567 121541453 616152740 689290575 750947089 969009909 873672538 790505522 752748769 958404640 252705326 969859938 534272484 109923372 878016754 331002497 713720455 906129700 948606490 499951688 546203169 197630749 605212559 873418401 290713504 565624627 972727021 954096871 609588699 183848715 666541833 382885745 370743347 652621776 557848238 297823918 140445155 676064551 771960270 932963360 544133034 965578686 932476902 463975532 737860359 508287815 420493585 113749669 292694879 305691965 586399141 958592966 665017144 576256366 552991989 780320636 656381482 147784191 223742954 372260496 383434472 611137578 605139662 288596171 541262035 756381528 621105431 798964940 808848703 587706634 998795807 993267876 359894422 542620919 131406726 813703206 647925888 886309703 775992797 543524434 996274923 833741162 692546031 984848618 706413989 839572903 524281788 982661197 603158151 642410196 860941848 305836596 558947847 994333380 373790342 592682165 155372495 301407630 220014600 768776866 800530956 356229517 841548343 116357237 406037661 488422009 735799337 577972002 154037897 339639395 838624779 886996410 683205153 752701431 419784550 783831115 560695538 859814244 245324188 761218626 477381102 280660633 419114277 124277552 885768456 555814713 850159264 108194512 169518545 784741414 740469097 771882337 754949972 853456025 434785215 320417002 705979974 852502585 602195371 474325987 988375734 187292459 308200633 843670418 838802547 400855244 268248958 455021618 378738560 846878427 271674209 951339728 953269198 374598273 337566188 916789714 292665638 169046465 766549265 909909946 124979514 979258928 401762380 193806723 311058387 893257295 892997515 753531121 811667745 833414046 677399507 646014817 139695290 664189350 680114061 449278946 223198099 950278185 423246097 196735393 248903446 380170974 563227956 321762420 531735805 226145949 150816471 711792067 113610895 669056936 983522007 229322387 378022044 682029353 663005081 109151670 781696728 193749204 741100392 530005096 581196024 936204369 465157720 529586088 459715062 820781553 573780581 686360571 538659113 468478919 881062346 975959540 923939742 865182035 854442642 977750951 530536187 276151132 873211656 995468853 129128298 579268540 753401024 752164250 820765597 962421545 804503469 770500766 918467721 740898617 129682861 681634881 637597263 970092681 967141784 865413553 276732766 377607801 418312431 786172527 327054826 361585253 602186858 807305466 420780177 624995982 355254657 115858271 453987537 159084475 805447843 408719711 281952121 942931490 916024788 708714365 837323515 111288171 937253002 686631076 755107631 276709071 570989707 196685058 629783289 783049720 839910511 821098160 730251427 728849854 328629848 700487351 379441220 694098415 205397746 746807603 589609235 912677247 856977459 401071986 793908028 506361124 296776371 586668861 650197519 867053472 388992689 800789308 370034975 945257777 695961605 370807737 680901458 163176429 508804845 404906803 621557734 824171388 240577560 835323870 456355966 760412563 665523535 902302904 286608254 311222041 127919380 491832438 679630778 531496265 735974146 886375194 773823904 401864988 714295942 437762604 107863648 984755813 916921163 588221174 141856981 157820278 689253779 315065853 275136554 273605917 828820797 188974837 251454939 382188844 832996703 724958010 306038605 560036893 191984504 382076315 278556152 985681369 156738384 517139750 477491468 333320253 860281582 820061259 892171044 330913824 433775145 654562149 984907074 803886467 765896660 477765932 174924256 609723460 572912446 214067777 199124128 603486169 261894282 784254111 956953917 547016347 665527233 266136902 481351439 618003669 121299773 437642357 954839744 578035694 808919206 142594537 453266961 848178343 437474290 216070635 903632382 640089990 245098757 751853214 649078276 789579077 565420865 768970132 370301888 652894078 851989534 322008689 792669383 172974751 662218588 313920407 559131393 869217900 721510043 319218864 698299975 403497530 830742851 500993049 970164846 585875247 571029304 380119404 528732178 768657289 727147001 624552142 234099432 765725287 753881927 918049918 179890626 773707357 470289737 115538031 706064976 256135374 670769967 395402152 321901708 826980555 936945260 847916970 171051410 656856109 493103391 204011400 713279694 534288703 806914915 366179496 109722221 501379137 972520650 518405962 162129271 693084836 687575996 462188036 323649409 678883497 551238613 182774404 144697956 754022176 165308914 550618578 459214311 133255163 675723651 653117045 426897633 889977257 366242159 188950574 232718028 651536866 710802418 535238510 943806563 978709395 250949273 819644312 793013432 503151580 699165646 564485113 777656125 799411119 846315966 660723089 220927019 571682198 609259996 360573002 578422473 988579880 830725564 928867422 638258754 476927408 806572524 677698889 611396707 260227281 127056727 186081721 215634773 109057003 306106428 695767032 609225993 606307789 431961737 851024480 353014940 329703695 425728068 190831809 505666175 887665791 219042779 158131055 759072349 760012782 554989901 149418328 287173555 440999475 764696935 593896927 202099049 996957781 116702683 564515631 923752049 380519113 317857345 238895318 375609983 427776918 540589513 887620971 616940628 520846426 318998016 762527212 969097158 858846628 163524878 349394102 159452138 669286954 220761423 827739150 598573015 926846081 105438646 890349303 415632058 564376637 668503646 104890663 362341895 780035010 483536549 209560247 825312840 581615274 959511244 489435512 990965824 438884755 398037857 139333734 622523900 849737965 931829062 668941162 375658563 726916623 753561726 434621759 921942773 919294302 600949449 695383786 945831404 612886116 768722862 889656898 709482225 868672589 697357760 769927520 902909995 855914515 967726751 248880502 135320183 307246368 980867264 710452519 406103946 896885042 655029208 648000109 453554463 635157872 313132706 469782473 753957352 145397953 854007033 568025291 164749120 184268985 368759968 624343739 970781222 677351537 408172513 971867424 182446591 253852122 631621008 321443379 784356972 680853388 551069529 607222947 487322823 932744920 605738200 177556023 602665268 992648730 339697958 823858308 451877112 295185296 885901104 839589973 128302456 574781560 593415228 220870839 400358548 990612791 442060677 453452443 334040248 705728347 782906680 230267800 187303415 259796670 230367379 317358134 491772315 970044966 283632352 140594034 798033989 490066846 458963795 612571893 783706703 982683605 855019388 576533261 124978435 531216438 736136676 427612448 960639714 496619834 801217018 115838181 750781841 468551339 587008737 197478686 113766583 793337201 692635462 536074360 190986145 926983554 118425712 140597840 737516908 529901006 210498828 768226595 611026671 987151529 807649810 983935607 685670995 615004261 675979680 105738767 956050635 466973745 110870625 811250861 311863323 226920692 103205136 520622434 731944340 702179465 789975152 191474168 732085162 134157852 158946316 228493557 177797954 872388324 640768002 365719001 450215364 248223731 933168730 876359183 215191319 257802057 831652658 528294120 865218475 850992112 622084186 731712093 804591200 792395417 965280520 869479014 294893158 423880216 934548811 325531579 971557067 363557268 208709595 213662716 832719982 314811272 546422328 462295712 176839149 317213240 389885720 926610451 223988489 862165866 250297957 277743781 556932817 826367114 195364127 499469134 284830788 598298934 609537835 659550022 218467576 847589585 961435043 495098878 367806496 203554909 254307279 137913891 176408876 734837428 160942303 738650705 813556399 906138614 602464313 305940280 319855265 244138675 771723450 355299070 123790938 515828738 778388012 851103002 148689687 511501111 544185293 107812117 417872131 214055937 462158337 744146187 347237286 919428590 239848878 381358031 169439520 661966243 697979693 122148820 790194481 821027865 411226755 686305538 581110654 209511261 926081151 299663912 572594114 747183283 835056043 720082165 131090860 777823173 256848101 593604225 493097839 554414555 242185329 540451220 169870832 913339998 746080783 199095262 403813444 292175553 178692034 333101913 113721608 423346841 492744865 563429277 180964870 110578852 756410213 510643920 657856572 564234166 422460615 562944906 511582158 526562040 881990406 825650898 408496993 697387695 477646956 598721741 170176386 567579165 182193656 953872015 645597109 436427536 893867616 921718022 871272273 388646807 434699581 358773372 834139691 838184549 188777271 760080447 150906440 156647382 700886462 938196032 849038697 836594733 955082192 753694325 281847663 611382027 667872638 588829309 816067787 453248738 479483807 708361492 585130409 381629171 470332525 632425233 863311089 478494649 507437586 671320394 957108230 233658395 899725944 128061864 185482932 393485141 917403500 317987227 827621562 731925334 422284919 929452065 910563038 662844516 751440718 549354361 275697920 694457365 845915714 482412741 296795560 210564578 130144963 183312815 629170669 600202210 156212562 561502905 917256750 905718178 625191908 998901822 950019204 302499402 855927050 509646262 732875240 425188286 988015009 197546601 970831228 482739439 644345684 157460634 675476489 484368214 389661926 200330504 319812923 125113515 561625018 293530541 438658899 928698144 331565932 237520548 842486558 355802969 794679495 795107939 755056967 704380440 187336574 187430843 692435747 497996684 606801674 632396869 936044131 401265858 800858140 648805634 110197181 311043851 246899451 984024040 147370512 361294838 848040567 778892801 759881027 631281775 981224833 195402540 786096082 884035055 474269941 811291283 110322204 118900815 951150926 491700954 197191262 175636905 634030485 166006435 334928589 850517845 371055863 831182794 984894801 186465835 660946364 727391871 154679591 187809549 981282429 860428360 585872652 626594982 680764808 393449424 694987856 947505104 267056110 685920328 361346912 877030199 326883037 959445369 729779582 426252214 123450791 540682470 575232247 667621444 144718495 975369195 231623219 869046692 707885340 865811439 197352596 459159678 289747227 500181314 238146409 192377550 821026807 781507033 129420749 359358259 881826251 274677739 787066104 948677431 690079104 470572212 721292587 961161548 961578914 860954688 681080459 117539581 169654656 259557456 979241437 929403944 650274607 845209699 830285254 650148570 760063951 638640482 344045943 634200540 209203118 144606176 682610930 166935706 624670399 530185430 385060931 971087681 304935639 250639277 140174552 805213875 588271657 156932672 946600421 590310463 384205080 314028727 129348565 516398474 327923315 650586343 951060709 726894370 558339953 547336083 948330414 925116173 853613629 564570681 883001789 528617832 167036437 662808871 488409303 711680611 995587312 502451244 580315008 684835521 297962858 884063609 974746349 279183406 770967777 378297883 634618402 578360652 738870625 138064617 204734407 407390171 238212314 319282967 301816643 331303109 713138053 522905224 877281789 106164684 543270531 163144908 420383223 265070830 407950436 510419791 373000780 283108872 784432511 958134337 243639279 127633479 879038168 774627706 347578578 660451297 933064612 664015200 315684316 596556166 607050401 843874433 525054492 218131933 132635539 262087554 433928339 128809764 141392522 837169705 249817466 737884071 147733361 497518985 428085945 122472552 453567943 347941114 894894291 955429953 107885102 232680357 423718001 858098891 701637337 577212060 845008824 586872261 789207873 285349857 340161861 698597627 402035315 413925010 529895538 788958682 435043044 663154445 497393512 210602887 891185771 729217515 379528809 654602703 759551140 247156107 716542147 132831258 104654183 357081474 347459081 331300553 273125087 730946772 476157449 260444281 679906908 348371349 507588048 323072257 231813293 618780895 732356418 371503282 254939241 935058091 655958469 917446610 372341204 645172094 991593426 595690673 592625434 763587669 164399606 370244587 979545811 529798198 915087170 217879271 156356526 203407746 716600352 400106097 444725029 179687053 503359120 670881026 337825475 168520194 986825631 441483030 930749325 174392047 591923060 404098263 716460206 105373583 992019690 193572137 514781105 373938022 768874216 717487382 803637144 681589299 478515458 745409005 679027944 126011949 420326082 429030157 977918784 321280907 355165300 467301422 398120507 767089975 685305615 217372167 120633378 929768572 496228351 568549973 662642240 746070396 161677892 840253316 137882027 428589399 955100807 988803667 374458760 446031796 877062387 422563550 771456684 773397506 831728445 976778851 108706397 454341266 507522311 423864948 481002563 912562504 346854017 972780000 902048801 242935861 918707599 150719387 359441512 508606197 858329411 684794435 719521179 942929115 305045071 287608294 662742650 210133060 797757846 652101939 383210145 735929840 502204736 805702770 556291069 716652012 322207910 865447454 414684429 683033376 694888068 960722884 729669872 202457328 177871018 582607976 518139441 455381368 485396340 395905768 203617575 769185474 372028102 325278320 487347279 575183974 880802216 175494207 747748053 716577345 750125071 697908712 982625392 571711641 658755911 838498752 610286520 901634608 338367649 701598985 971806666 382305918 947185757 651603482 364890002 878930454 838442786 627174833 564325135 532187458 250383270 203341027 708280241 470885434 228596851 254053953 845696363 814669275 270505113 969515142 514905151 661639053 429958724 324556152 928631889 360940658 819875235 273390126 573271474 766736468 830821293 486715175 593519437 636100490 331056052 564866477 555232689 907839343 305360439 154943948 924946624 813197702 582957291 428920635 101886921 410376454 613146780 193721866 681589090 561686584 140512682 278218001 696496176 886571208 403609120 411971529 338869122 658860646 718128574 329241322 134625586 734903566 933237776 902431361 648118772 461022134 354396650 432767451 917068521 879761273 147704260 648094732 899791706 780790274 898935651 267418408 726532209 990025597 588437646 270410647 401993586 543127313 991443884 618926739 349981769 385697252 535222987 783901085 281025959 475348281 540107310 317087589 909717634 504912677 826985816 451671477 852686884 687824569 247580120 550327618 141301111 824299725 304802552 573995005 740566211 886597317 872422067 875561812 678371247 380917882 249846472 530991116 943725943 509589762 644639984 826690290 953751343 649196617 546989328 473040789 979549553 352071841 891452351 699349779 700948787 436663983 899596029 444979916 696373717 737710326 873739474 188251567 114293749 811168539 329840147 326732907 137539660 522568001 278883324 867817906 164917649 115222622 505724167 537557533 318149953 614850765 821091487 389471651 477834852 470786267 730735121 134036192 903910565 280235485 612052835 161322635 613349116 510259974 334918353 793186168 274245710 810849540 578686694 435988362 405442963 640160477 712108064 554251456 349404139 823726907 544514045 827125040 119577103 722149785 969494471 373096460 961788175 838972005 810047760 237790711 733533066 756856698 210826203 943115910 194716672 130442695 305392284 130055851 134648637 240391236 232525051 970474486 110916741 219242439 830945674 810819130 683898183 206454042 407792092 345623729 922870732 216728566 902033732 652530416 226748180 685436766 129218926 864262865 452305313 526307429 287102560 410458983 167014683 471283809 363173358 381998284 228715608 972818249 716140667 261012541 973659677 194327958 623757913 929557055 406839988 684100994 797283169 911332976 812271086 158107594 276494845 899175322 633796361 690041909 252117798 739752960 619256961 550965235 893952561 207529213 187835635 284925915 500656310 125670985 389918833 355456036 618843772 577481767 123253305 267713051 394003277 238299358 436140924 147769948 300470436 189557797 131293731 247477507 700217551 855984596 670388818 690836184 181101857 382317798 718370177 151467151 945183887 292766196 921731951 649368349 437319581 482345048 370769250 837061799 500416440 617268961 791603134 315725581 867520095 515575267 317899589 290033094 623263904 412100955 778726829 276472040 460168221 751534936 607831819 541306744 966008538 485794212 828423611 144187950 990177743 853551045 720852492 186253977 450510636 376819895 984093393 904850156 758240948 325711814 212691960 160800049 923133429 513145155 160783832 837577112 976658916 756651222 723851299 599087221 439338478 524522528 520746842 649323921 548269887 155342831 336739489 774220373 576307504 348271621 908252646 602179390 847563984 403645779 185225725 535198157 448538298 972662304 726408081 233732326 835301726 363893878 922378523 324979786 703625339 519278089 518740434 930539128 487539436 999598260 439307042 958609605 904815180 917931100 604390075 240133801 506755643 349887594 278904441 134714998 968951482 756301649 312019527 800739730 431382070 389712182 866878667 428699246 236042199 573376263 187548856 410257376 163140837 972720948 683667599 283207388 688431914 618991911 391731815 511231189 850345794 942296079 736476964 942662207 782238235 610022077 341825570 115648105 351729229 987119242 277923260 526015495 528295746 722844179 128062295 450378387 344587843 867043218 337454178 710600476 937738468 588202303 294486732 516665043 819162025 160451912 731810210 132820487 706926848 517457225 203490289 908041053 636139584 681069132 144383562 199848562 458573749 346351848 859443101 466739744 232858139 618276581 941594801 486342011 202308498 857803089 195529582 838247238 240602412 371232156 411980984 787793471 388671628 708352778 134911378 329198399 301502989 497432115 811141791 740299894 224507315 232087590 476354077 127871207 709072507 333554863 100193603 501478762 273802191 514562951 853137503 980880784 320274743 903426385 581125590 243078420 230133266 159333256 196735022 206239925 370473474 445808919 539072146 137335997 901629026 413212641 217660380 237911921 577516881 950908295 553808326 610271566 171443725 216460621 210143142 730170870 852730785 402479537 449494748 891788174 160554412 982544765 321281501 688877736 899694365 813844046 235639402 738520920 343259736 586649016 733795053 263845784 428287666 626258953 299717323 731242538 747150729 725639276 592634960 706311497 769413503 794106132 409897180 738836604 988282024 314282960 832138854 885994792 546654276 622586950 476294075 555130194 671080115 603795825 767305271 494704876 842217424 162509314 919868682 243712758 695840669 361424021 414748059 614397537 897129330 613779684 668011238 627777674 840348561 872043167 592201463 993917013 425626148 107018792 469977713 196945108 415257497 112781408 983370210 863203728 310057219 992217159 821901017 720451705 952184890 266376171 934248648 178425055 437852454 643339936 408429883 101668642 551867670 290622007 432193024 899645993 511968671 789146243 638662285 584180400 189517190 981879041 410019683 408491972 116490789 792795372 741729046 158912029 234144276 677640124 626707814 911135688 657490275 353984255 297871528 879638629 101291868 223882090 847198102 881831705 405230518 821730484 805923923 553176235 270543130 367070932 309451774 767095139 338571291 844626851 417567842 511525986 591117219 885333182 340166159 254218514 572340180 244403539 848043363 347386090 638264530 316906059 926538000 581484253 264970294 492229200 928153211 240461746 309181661 978524360 195987333 748599457 405723616 350523820 653343201 719932842 621750891 805113679 264458910 504162023 234806961 145520618 958185753 612264426 852020173 558557845 833453983 930047137 574499736 681974551 723856578 710712825 701502367 555461602 887878783 274188062 555112383 255161821 852690298 422790565 473414656 681834683 686873931 367663632 547023329 795052655 144292158 703703460 503625284 573756120 885017233 217478624 251269376 823667989 457968060 188962209 665463819 275615298 820632242 956915156 665840410 448559072 147956065 595067895 568094465 825994913 663972049 328839107 868741272 912401381 561881043 314293650 256994805 556148869 196945085 160666092 983641004 756898227 210437738 305789490 975398116 609432478 322157693 226341166 711235859 897524305 426929593 725655242 924434303 439717184 367979593 981578029 254594504 856335053 354882022 981486397 686764405 321440368 147727440 296561483 146093736 116277178 184635687 952280604 387420031 476662329 704515714 771454827 217355042 900833226 248997924 339006727 154487471 211546741 924684262 924635677 336800069 161463275 402211692 471355013 421205612 532136691 169481732 603378924 693886570 195560319 669112888 230078118 273725749 351446175 856429194 365545587 527523149 997729429 671681035 201534078 468050788 487154318 151643365 215546326 153996103 324700579 561695254 807241795 326459351 473467503 509648523 164948113 528859135 908505563 495416884 775281416 930552898 314731570 458610483 104069308 914642407 502535300 864638758 215155491 113865601 260688921 261163505 440237762 713745349 324101678 128186567 112468117 497740193 262261996 985794327 406056692 599964745 525514976 171731055 791817703 516504037 556735983 841085855 293325529 635132047 978911691 101314179 757648473 999575917 856347791 743938921 696710205 782611442 296374183 158813082 372902163 994377155 533013245 320372555 751426971 579363120 878042200 657533583 136566809 346901561 604553729 918428879 767109325 777175566 492226998 178662813 982302590 300223449 434503964 206725292 943900509 306086313 175222896 694397770 954513680 915365337 325726022 872826930 651563140 970811166 619902745 225429141 796167217 409351948 633806867 338375060 626095259 780407291 624536106 531547952 148111109 825608903 302596175 488422258 198547800 764896665 855147138 212608210 726721098 655702917 846714050 678873066 227909062 902114962 298410933 250035422 547476334 945701655 407767822 922091355 277188498 337129237 972921324 259478559 547730510 168221435 993183702 382198150 639766947 465106700 901873003 676908612 775918177 609265305 107071021 748944810 943977122 156579462 651922363 693706317 706177598 137068724 305930956 880231322 200773838 203719920 843891164 602245409 417866069 369015356 576660681 682648120 915691334 505630783 786430242 191430335 394156009 610065259 206096365 176574069 128998443 309347354 363443509 401189013 912248264 871025576 826448713 701412926 583017822 730791349 254174271 988322480 118494653 740931768 360308994 102618626 698794071 946230245 309853786 381844384 235353781 604294191 703281347 246252732 714956860 451947725 800084106 609350004 320636517 566309549 301246889 665340201 911530341 126716157 319106053 166445677 982527534 739284897 167050506 189680097 491559994 734312118 560917398 428175781 529474573 848546298 276538007 896749679 216743111 435744447 894379995 328580536 266020062 283682683 370960227 525443427 819212948 442323557 815083827 497139656 836175279 906855468 996908421 669205949 297674158 440713558 572776406 803292866 276386628 963429072 459744175 366661286 187897288 411701875 609749839 327008494 264325098 449991052 350482917 225081707 750694148 774609025 876231984 633488452 552757445 889700302 899884201 956959185 322237860 656232487 874008603 217597981 939960356 724388239 634257575 880901832 632873460 392895922 800126507 381359788 816557769 491426579 884459045 816342544 759708201 251544496 562107499 936943356 484910227 635552019 536249769 979135410 708191669 546338815 396144740 601798241 885454847 690710661 774128992 301901440 135890547 207948404 900466549 525047857 929300751 156167879 975458663 379131883 123462501 934492779 378109433 334633251 294219793 396896540 316707759 585525815 455457025 962834437 372569030 715507533 163323257 744340880 702191711 424930955 259662706 591073211 728276873 101148837 398022465 900171879 606772543 898376125 425088904 626524669 527397035 633647666 506235019 838868209 994634022 571017968 606391734 174783428 421947662 621400551 646758117 244257673 479221086 585358334 143572236 555822409 161389639 961454806 978919042 719246256 437466518 329271276 626833445 980403667 732409215 117086734 590482703 938095045 126216829 827529480 760793054 248369380 768918419 325013607 556473695 907859054 279977383 790128344 253231598 971987959 389045602 282964355 764492911 416145663 507021121 855928699 572126668 719128432 909695798 301570964 478690270 526835797 301108512 544713511 634489863 870797714 818084746 870257305 521788081 837966645 300213838 363911905 837984113 828147655 423771609 221913122 525362761 455176620 990875653 925026401 828253227 789431079 915251623 639640281 162203792 639503002 901056950 523327610 796517595 951363480 154150739 974168047 393704319 258050696 547137522 834649733 281518025 452437205 975850647 158007968 658600231 662086924 972963361 738759257 438685466 363554000 858857241 901368808 767732891 340395635 478673200 621129373 548340409 403809447 422600739 430820838 669934158 992793462 823501536 416472401 220218631 454166384 493417145 671321603 350632354 153589381 569800654 509054371 535304080 823499399 635539781 350246119 166206447 241443077 812024320 939580715 467794173 237613401 585514838 449700907 754131228 433529022 420209502 142207854 635965530 595481409 887773744 918006569 573970215 133993301 588140863 516856868 353481791 874617140 892062331 880102406 381950908 489431846 204620779 832565458 606604700 176701328 854972886 529041443 773222534 189845057 329488715 784331227 152156921 907022174 428688099 124855244 590402315 799533948 692363832 997856938 689139523 180794796 783167490 724044268 623469678 521800793 706546306 369993692 184635039 222334277 509152618 998824445 720094660 384370697 727141366 653996783 673417096 789028428 189031710 940392026 699639677 429526366 144439971 581840768 105018306 578574944 674210368 600277228 453013061 324112514 529653373 793727760 380607399 775212267 615884006 638912637 408670609 151791488 554780120 918764099 421408035 304577271 641317126 667861823 788630256 962749624 659035103 196943329 803521523 456327789 852748765 469028195 952549268 591284796 601749191 823363109 755043122 172269905 340624940 448096858 657480861 605628202 913526644 200462868 453687977 665972843 307582553 439555902 470274632 874496398 231534588 892451249 814557621 379299105 424177753 867667275 575452522 454960887 623733059 276949817 791969522 919889764 764490687 194861940 221715328 802853418 548905403 814011376 552550832 831484857 593519766 250805623 958397535 136338417 485016628 833020951 643601102 134883515 579588840 461543574 900064804 289671568 200876532 749429079 282094585 510451574 824636979 116216830 442986052 534194520 268556650 784328915 699450780 547161331 416358890 911982068 609325743 689490211 297074334 111602048 136144515 135306475 911965648 351590231 567879768 385725416 213831305 173492097 404329350 766658635 903653892 294943083 669316588 689611863 237943350 468473892 765106259 537338538 967543455 515498691 520786027 809248090 333067239 424215136 711491605 227682548 361564237 682349100 955034701 681654155 273868178 983980300 543628637 774580466 991582969 752014452 293953360 578696994 825001843 937979431 724463643 642241500 404539077 484973232 235651002 222775396 300780717 362736842 392693839 329472326 389198037 148608495 243181532 429078781 956449376 378426491 815226719 677860400 997647632 168785490 507976439 906355179 830147639 120799089 752271896 998366728 660580743 968111780 814435517 718829676 280316736 703720845 666131229 880094517 411501215 970139349 296958533 756501917 830295355 259887033 919144050 272649136 736854980 733549089 850838732 884476029 765641831 276163524 996204376 300850561 547619418 816965422 728922350 551015766 917229011 655964946 559079852 722563438 106883822 385904255 584297121 616492232 682560972 938363988 563365482 768302555 145053237 979056590 717280048 708063305 817786253 488165956 409069357 274958257 635846197 144386274 726502827 175483279 991683193 100062282 791097680 154101436 874201951 499994960 329021976 253241512 178937496 485552827 893516541 382121161 661221175 901194441 699130212 356756505 919343524 886377441 376957734 795348799 562590860 454590037 490069896 476359975 382488414 243289187 815667027 342343148 973158603 419682141 639899383 900250685 355088380 923144287 966657064 944913773 318706479 500052447 928844441 862781377 370278513 384492970 143619871 630427240 690880865 674258519 721438531 396875777 788570419 334003550 245531845 694661208 507923437 701077146 675245306 905168481 310010888 384638300 960377742 181578809 392853266 350323211 586230807 698396393 544964426 846689772 855798952 343727969 952128689 413810063 313043295 805685800 265414862 360540434 532945892 381005597 197968515 659223449 193329017 631064249 297426746 278193801 234160772 935852929 145732149 666205317 496198549 155127018 828677960 954867342 706560838 640155010 939730484 693013912 865957231 239133004 887010674 708471308 111744088 411082506 760522525 199571484 572021633 489704600 184447227 281376764 834340576 535617478 590653774 250972837 733431831 296139467 764542913 110966251 676578277 545585109 820340550 315398741 987737476 521661221 830967695 428799506 251496533 200291301 674153537 960006081 818232850 859945555 166349549 278364518 189472652 132556610 979795053 720676922 175525213 404876613 298314867 735989933 503867904 777114063 821341041 407213199 592508543 700247118 337528092 232155378 722969767 397704246 317713975 466777580 205441291 779805265 957164035 898530890 499711763 818094020 521472701 441931623 415058702 386493614 468461856 288336550 795134642 407046407 487315545 849624599 608825970 409146156 719521416 424923022 680963426 786646068 386255451 680631097 927586298 792071929 662285206 821326416 910900364 215077235 876934867 946140205 273251689 130045728 819173023 576583894 305758389 374555104 101220903 361854163 739287147 308142252 564410896 441253561 155959669 299460735 910721075 431257216 963513611 578930348 292286856 748441725 417778520 205593874 286399472 744368096 369909611 293070652 550898895 846695052 247985297 738772151 506082079 528955933 945156567 578443715 248497042 993454080 237823018 199162088 727313707 988762519 869058628 360257490 157159881 601234269 317339417 239134777 291607539 483752088 914667022 308353802 188333464 702918804 352169563 167049529 968325764 362682333 520407927 963928451 190807898 244352663 754899917 219101650 716214717 172040462 758163268 983581779 212263825 265462547 733701976 530236101 489572904 777349946 160489462 477605578 628490605 276944482 145211872 837224854 879264562 991277624 980623895 710591934 473775591 946969401 524599094 513555560 921847264 358963334 428161727 393398850 750399168 931115659 493793357 872360653 216671716 498986253 293632895 950681113 750785865 484138739 519842980 404039122 809735193 529179681 507671295 863928007 630587799 542595803 308871378 749067369 294715919 570857560 156437143 215104789 539408340 299360019 256229742 435997368 150656905 594557637 121448447 261683655 810966104 554657522 658970609 799410967 619585664 986094688 674444871 997953067 655982782 766696499 328161516 698013020 479161289 966867425 589304195 542963103 315204656 842097222 377970763 995880079 903497878 544170389 528976894 410866048 416821368 569842813 692568332 147150735 284032760 986429091 374241806 124589587 206051725 394291891 537880124 417981662 122838770 100888057 786795807 954923326 901153516 753104600 379404655 498652897 647041708 460466804 539964091 465627685 458574789 202742922 695515886 119710641 341017344 643472695 896491331 221564660 461015499 903284165 302040046 416644574 646255193 247956378 981072210 497864756 861194144 463155201 310658741 645575844 625368339 405140701 740134254 380734529 618672453 695721422 213962484 977220572 613914562 859766180 555648474 119951260 550565992 286659105 627672024 645471622 595745022 515972514 422490457 390996870 654073425 605716176 733627589 358503489 896230068 473642545 809531013 117294828 577361545 933327573 479021683 906258081 819461921 998773102 178068433 595421223 101045267 933956444 824832783 834033777 260958738 342706298 362666140 175487494 237544326 806769982 176293853 412205390 700447666 808895612 871884973 442820335 676984670 844373426 853051995 297132508 339545259 880361409 129387658 468405931 531638550 793824152 169637630 937145330 348325305 426014371 174078327 389349615 533660069 244269990 786853063 542780823 845789888 223716110 217423963 914958637 630833006 116228076 835665908 492579266 391797085 544666158 178488256 558158916 194288522 619864560 559701226 333526253 116564211 875344951 273679452 877959633 631191185 789711056 714171535 226593177 315753997 783618496 386892067 689694056 745820932 711004583 105965927 809082208 709344575 848250532 314098401 322381975 513144955 395386530 334125745 193028953 329842426 230509808 578500216 282652032 977850102 885137330 178619674 572471898 812481595 466030911 637560392 817666579 285236884 252932311 351556624 972637867 630182469 890595303 308149125 724133525 795450147 210887405 872888421 180778870 555752419 903027616 913792794 656699440 448621084 871021387 242334047 352773445 880504528 960322452 601171968 388988755 736448269 798721907 339830114 721332274 193188423 615706571 308745801 716261199 926058692 567038248 226965489 844067890 874443366 235585304 708913847 356782459 724051395 959047515 825896121 983985278 718509681 651653718 535209390 337903207 687683459 879997083 528516019 581188268 166447016 864185557 452312001 727295316 891502802 919258605 309481802 449822765 678796702 190863507 388116005 450772242 460118195 563886535 622376990 599707415 322652366 786502945 174895537 459574974 459918815 744671122 104143092 207388421 352794501 164265258 436932870 385364287 468587551 239364207 164353800 376125499 401144929 135847358 816595664 283839050 334203530 323063348 576582826 462428315 784187843 385918878 378275283 368313498 287445714 354244678 264132851 541700653 420858533 213097287 285535932 296666041 813057071 299527318 764325876 355776707 210880183 797345205 693309027 335401558 542755642 710374395 322867219 948566571 512591417 772899018 999607096 797290012 912405994 714579243 293764731 914365841 703051634 655023167 576614314 635890108 152348964 448551541 922482597 227484379 894589987 530721163 823240019 628766486 461014105 114218753 721560334 600589889 648445494 915200778 596931178 935795882 675226004 861544523 423087974 110673971 952130767 996944908 571236116 678266315 454909300 349324151 506277388 913471255 547985758 207311445 684072021 278013642 297782296 348361230 525652754 315661911 775624357 250809919 106343394 651800888 465035102 676439055 872280911 283847109 414359830 396146029 588775572 888173277 909898575 624607035 754306491 358979826 586488949 201089677 200309762 618284844 167591479 937408197 133087348 602834281 883381947 226367512 243142996 584345387 446601021 713224727 851327220 975320608 534770062 718792133 806507156 148537810 491196270 844306809 187068586 422953557 792571891 416749744 315321374 625841516 278470168 494005662 316062796 411661615 989507667 574791842 918568898 919344585 703807440 818809280 305588726 487876455 599651396 797949599 135748207 218218233 690056533 304461707 479875065 349282157 253581741 396388626 143701774 598154518 366094231 130266752 536205158 842169742 574518522 161570823 126910422 595708739 183532790 401774023 865278720 311512189 851551218 631569414 363086985 451303057 587688721 372649523 261422000 805789170 258930856 311701351 849581938 428110111 707034118 614058695 675693430 284753479 450906264 634402743 509360927 565097014 734034494 413959204 576742250 154909629 262231611 236776711 760058187 491928737 443186698 334130320 935292219 560084140 338766100 791214141 502540555 103591335 420219301 386335006 713453208 478224109 206438367 373330527 691108049 340341526 630837853 844872403 492009599 403610567 985243305 702691430 332748513 216808815 170879787 213400804 747410453 344433932 225998220 765983213 579251178 566912751 134980119 999798704 585367256 535031709 670290777 500939900 427022697 299951130 714080666 744629327 981199386 404370314 223966569 964057451 668906411 870100094 370007799 265517151 563491864 245392996 399143996 379578157 111046550 452825230 934958631 898957011 107639440 952006690 591643111 359304778 720476131 740914277 599811745 391494081 587531022 798265888 167799255 642733050 133979800 501302613 299799675 742607809 495862456 551573232 730446794 148209892 726073767 237821726 977383101 590917616 357171715 470915374 892101490 358239855 990094089 201645064 554647062 911818076 963865918 158314783 717870820 911849340 613989647 128964716 109930926 758926795 763263883 646247093 128880706 545261128 433472576 991011488 111746447 598791539 620863525 203144832 490774732 133397763 159248013 926335270 289946937 477906803 100256225 446770698 241265961 548562932 448731830 697873794 616030698 917130138 204247259 208854330 207231834 240670990 429471397 136086293 582079864 910997989 371162324 268539419 254074527 970643478 316359642 710330748 863637080 752554562 801068072 148156930 609440461 827708846 676621500 163117788 328911609 493812022 297400670 880340625 304603480 657818282 880267282 475963919 300940468 553116346 223866394 738743223 216415433 213433639 265798366 536555639 327740650 749268846 124601130 463977414 964441269 993786014 557557694 859591594 766728632 732689769 587249901 959896450 768447299 153763379 945160713 219701734 858491765 851111972 415881564 183719088 677665705 781348821 755962302 757074156 797821997 198857188 730729094 539616367 922647716 888118201 256285788 167215346 229424477 623614402 197248972 528690351 290991055 165190856 798220155 142884893 691326792 874597526 776353976 630226891 231356647 595118146 988576472 951667706 277126616 878023564 873399256 650231432 656038190 991031722 880885819 329989858 700989569 402554545 131056582 668891214 197929756 300975697 996068033 925289005 185858542 700616961 720949154 442798988 844582449 420836755 609838736 899897237 867227705 834218001 313451848 971627748 875824736 921489541 174555373 643794882 911931036 189590531 972851821 786914591 156055395 334828807 816313987 446944558 283988356 605918994 572091179 909728927 447096120 350425756 715142438 759414557 792958564 400192143 362142012 485981067 205001468 180666575 747328906 589750998 184661590 300913319 609595473 594294816 189860242 395245384 676198976 872562311 637359498 227248270 757563723 786452399 115232469 254718803 414626337 361102739 744492162 994421440 687476639 657037720 767403775 143922315 722849179 135262239 750233915 906998491 709330845 893522924 506307984 976697197 925197719 675545167 367292825 324219824 325919986 381015218 130350306 586590008 983692553 858610236 945696189 700442431 744956639 850316597 546352487 323854377 737875791 722353951 863770081 480315674 576118483 493635233 885388054 367857065 460335367 687032493 516569162 293966236 120034292 724212932 553455959 894944643 855459097 638840553 142141589 861232956 279431259 193261410 456924787 985438182 583596922 143613278 341281644 259144529 584433142 646707075 830864676 438128291 325258741 392763381 843797019 453616243 587099775 406996497 654811878 193814081 289226232 927265219 111623924 181279478 567541707 428836208 228596404 207740969 770720054 673440306 208277475 925014875 692705439 639553594 277662352 422458624 862353143 158665620 478428920 661082974 606971380 891153018 987343546 507964002 760432763 939988290 212840450 812793075 395410097 494786834 548576738 185226752 296417163 635944337 867307939 756451635 170389718 417242333 406871900 630408119 979948622 589083472 396326310 599881734 161970357 791646572 808944001 950302791 613492400 328595917 468846996 521750159 322167364 427239008 718767009 848778746 608441043 700023816 849850506 248323269 101233227 518839642 799311273 213725264 213390031 732700393 299710897 271712555 957768545 558238873 668577980 172225734 760914931 885820916 201109084 877745028 661538140 660203063 557213835 473511249 175266597 547762875 707912138 425824800 675140546 232441778 235232241 857227121 557040819 374549042 615936499 348948426 551796212 823132388 329265725 709608010 481048333 401969806 530031859 438094706 199025987 986615985 287039593 434092931 594248910 300725055 738394256 428453890 187449296 766412416 862531902 551175339 120382436 128184640 396463198 643053136 671117334 941872494 863250327 197357699 479617087 409874004 227981034 393013660 503050400 703965592 688146014 778538467 543842543 745792874 380470075 982863385 607756020 559225466 217088844 216956241 149324129 412534103 372154566 985737297 839019976 435516563 731487779 175214420 519244441 815246650 360039412 152114366 323473808 743222367 205270467 147486082 969100635 133444352 352609388 538801071 186886956 226835752 160222315 300165000 232457897 329929577 513007044 582007842 778713178 913158172 257051678 396962865 522145653 284432157 913581868 336950961 880338708 533926006 890092598 621086424 699043891 339661167 874228515 435545289 793766769 384303747 924160485 278941115 732702026 415035215 340545513 778262119 351063042 762488429 306370127 235379065 907540594 885881608 169111814 325458726 221371161 477254920 442984565 724926272 927092318 888098036 774233719 600855482 299681963 690663831 588774567 828442787 957777828 743689447 740090054 643141180 682415799 374131508 883425921 940921423 454501363 309391633 708237814 338242237 425314258 146430530 140910541 645991052 814090693 650772909 110801230 873917022 307252054 961305885 689704621 405409084 420432690 194955734 850775808 555346718 804383133 628623262 719593149 925849732 832677175 459467370 120295153 149273782 889690878 839688160 346339775 584231231 364991289 504602487 714477673 511704689 424849308 157245914 738871230 213955276 766652540 427585504 743722585 631105048 974868052 443124188 480819310 340379999 739739407 526966190 832385276 616059657 710094935 594597194 147223844 452530595 211471220 437505797 806862105 758177870 186989840 212732831 476626170 329414758 733136774 707479778 148161000 981840529 211357677 680314656 723995210 719160133 966101020 380372401 303203469 250196256 897530921 505794196 547740047 189268902 316613484 276494597 433165204 721359947 741040498 237032679 191669645 263682512 139974347 840563230 776700722 488012180 717361424 214008129 838792641 301006343 747086598 529439710 190634356 948232318 797330018 178817751 333362473 169167391 383728917 291838395 295087578 263426877 523971585 243396039 433345793 989738430 676840563 649414443 604930050 135484566 216997588 349956031 823944802 483240715 474437908 443429801 478276209 858293329 688914419 955972959 477480410 562714068 269901109 732346535 493740488 462608899 845847599 898166944 336043894 977728590 867518858 284919078 917839243 545886361 832630843 369160724 396886438 169368229 990821347 881521503 237522518 668734884 109358373 741487620 257371788 821638321 929847514 562477801 638306337 837525223 181099651 767719948 529064658 386926283 903164734 775711350 365803468 485654254 929059924 446249124 739187088 684109509 933541571 702393834 603828131 376151000 898967027 500614931 885533111 509764674 877558009 561756948 670773272 338731647 522255214 808788951 409516010 830848825 488083599 392675469 250802983 131037244 954419823 173647797 921485029 284458254 606659046 573327601 122931291 574990724 224243532 106818506 360173384 243573341 911109093 791334524 796067340 379117813 889282157 165081096 959761798 771065053 552706942 618075692 276965162 836450793 859511575 930538446 667493502 283364117 543464199 946754049 220999128 181739893 672258509 139335257 897113873 162468741 117783963 502486398 234290462 263043915 117923390 160828417 603610495 444803809 705833510 306679471 406497582 429277522 934264865 344111647 690793431 903719352 365238590 871691476 322116454 367597517 246478376 221398286 677070029 904451114 775703981 246200973 777176254 483852745 224862402 127328130 328133775 731698129 198772047 581945412 878091893 659298327 458915504 690484298 369921013 170541481 790047109 111229167 560627673 780827991 392969696 971201864 460187223 748557130 986101271 126775359 281296328 291954018 967891719 326391557 369563847 657265548 314008462 676251270 738651812 673622110 501569454 180996724 536651284 947707490 703781764 348570256 370187970 492107566 358994993 721532047 975772723 896355953 543075255 317580563 458096898 703798479 523982355 897180671 654803578 736225696 591001111 450690080 938689882 720185415 167200715 508319856 684693868 725507752 344535775 259028109 805197601 541569095 699720426 405935289 368188747 918144146 510187923 352402359 375068859 213327662 151697651 461436915 195617864 233905847 146339854 983062633 389774280 569594937 125814849 430562848 404004067 306185259 242930095 489677817 932006814 640744393 178666278 646446909 551362310 919493007 665251192 161715305 174151761 685501122 777105598 562682331 317279640 102893335 683019922 126266784 174793290 866393893 471754115 248982757 384401642 534716272 254554721 131190430 346092498 964715236 875119966 358748522 435178403 359228704 979152982 966094024 110283904 410918181 584049593 650981087 773273057 946741051 445617333 385145388 335695589 217754714 565083297 649322610 180003846 783737132 417043836 303348623 702493383 728283394 349846616 373522640 353227381 390001172 249364805 160873061 784823645 132479978 672468526 727533971 815151392 758346768 727861248 473991797 622485015 497628763 642333221 376130915 484101871 131664664 166377999 714234625 737260757 538409912 779240421 136846800 327255047 936964884 402403214 437199963 210856544 634853151 779699544 917167710 591715635 522097177 960241908 728332294 865025579 640528135 284072047 151043139 793643644 768804706 829662732 641476152 145833547 959993828 265437347 468713482 103744226 137311984 147472737 546483365 253193692 149843956 134035484 765649065 799915355 917404025 425613781 915386637 417696559 727109078 595360389 532950402 333953325 181154605 962215731 114524338 922604906 855221287 912795596 414500633 243198626 835323826 620109685 919254824 207363213 453318631 378962857 642051343 389179046 374163947 399088648 202498790 555021233 938109765 621262040 548035432 641035305 758571741 312695711 248949534 455407717 890915901 652285364 794423697 643246206 184243375 927414737 750396616 500333691 283149984 835573976 331458463 543730762 224159009 204314644 560468359 954513013 141404307 888568401 204001204 794923515 925806252 167328103 798686569 855125737 752986885 246025123 573162770 518549719 383770683 451124890 786400757 654142552 537292644 882111827 856725363 619532228 273262237 525551711 395577507 685052132 476460484 637194771 786525933 427036309 288213971 165046294 744541933 158825360 108426443 156637317 331299722 781733795 248764441 307392237 697685879 341332885 661818745 847090354 847952104 945014599 590793111 595358544 362474367 793643652 225921318 553164175 443407015 804713732 666110953 714146906 701239769 214477947 317099950 530338213 371218361 451724928 942867846 322596610 110473881 688120456 811100796 534528810 580116374 587474650 216028517 225041681 241148793 879499395 823804669 572395820 729568816 914694877 438956125 131049025 138488643 628961253 418654847 607473122 976853217 257120045 483954381 792194696 272489601 537993202 525973340 201703834 168949497 455041461 580314467 184762409 575627376 702030358 753708891 791572809 899934691 937022723 665358372 110898792 462945485 737686007 636049893 615225542 344204279 912033336 989237665 550301126 584469056 918324077 538326771 803805778 287242225 553286866 861684098 979118740 661076913 754475676 204549255 454182020 104498463 717382687 794989809 320286097 976806179 775326154 539537501 478343116 703017737 815037518 727261386 640920492 549484849 189094598 282621983 898306873 155233903 556525586 300650925 841498299 525646302 227523522 885029367 219007070 497221818 338081037 320548920 762580215 197937535 185528789 662246296 109543022 440547488 101675991 338244994 682471115 856849216 702791227 336188235 849793842 327136532 620809657 392702462 353339834 823449683 893978646 147749580 121628764 822709341 755380298 683100802 313407165 838951170 519002733 565453330 638325059 599049776 281911787 130146171 770122071 472007921 710935290 634776738 719209691 837286329 383393403 539844090 363218081 629389977 112832409 331700319 717364064 118232296 518246000 310059643 789749925 707248656 815400279 488839790 948817372 642423340 773907122 815889990 257839333 718540343 862099229 618505082 166091539 885811268 867187538 688085761 466201282 690585930 992663152 252620275 148018215 600102815 805854112 659982094 332940927 436734738 500271304 787040251 961976786 703559687 247602223 170309960 251188421 946985736 474774638 179146954 611938122 154625971 569625475 119980025 742733933 288115627 912794781 214378138 521806299 149892721 418085398 916007854 116045883 986861878 609216202 410520510 729082681 998853540 654429808 261935543 433384810 788632689 600796840 158098687 344679370 310026898 755741374 894645861 880308840 635301078 611818239 193233145 289385295 723800049 922740195 643923456 434208364 972308187 184799445 926335143 176806988 311821537 917276294 240449513 905195734 396203167 854404414 767778965 741796860 760544012 887786739 662877940 298891310 217122298 455953694 632732577 123948969 325372126 466025384 842546411 513158587 407799229 891246147 775526707 126131629 288464745 608233803 343812615 425219190 474495043 821990540 698335806 279069730 643975554 263513026 812922841 547927702 147761498 501863353 204133348 107409335 856402244 484549812 905804127 582965404 795475381 368943911 964728821 767436028 751705194 774824563 478437166 793924201 885195130 600326978 424679688 322509028 273148116 118931767 644497135 920383080 799712952 171774863 841256243 471228059 122684943 812792706 981819273 992424539 292287136 400093814 147592794 976264986 802346122 255239540 484733279 628387854 753131193 311501013 548453041 492953357 459749944 964425302 298789141 862387233 118688990 432694732 990044440 297097529 780730581 282961201 982679750 917065125 756158557 303270947 950162395 351051380 530608293 529809047 749340697 516479610 118594892 471007669 967545937 899419116 231685112 383454551 957343842 153825284 332247146 185926888 964081234 620131905 512915851 362731211 134456529 326406969 534767325 931647060 966445871 189401577 645604331 298084100 248729202 322297394 362178407 388835331 373741806 949928472 878189347 721327569 411206642 730288099 937563913 725824569 778158838 317780305 454500232 889759628 947291169 767380211 120485542 642757550 549117177 988147647 102135812 264334880 980807534 204808173 329801843 180192357 899997227 568958590 809716128 699555192 650355776 273402690 902402676 507119256 971112483 139842881 131645529 170915746 430262922 934921921 678400766 387777763 676428047 167052145 458263811 732157665 951460349 486151895 112946400 259898999 359924767 450016713 629703521 694049174 325674523 561082032 353632255 131904940 247194488 370112840 973349026 680836944 919123180 582831164 433255275 394326629 109594186 430507367 570479374 475871024 849069050 937187189 988984546 985502286 687464213 895215602 997864615 171557098 633321498 741999144 102691669 918784134 643971668 511655665 197891660 543902836 619818593 473815123 278929566 579638742 811377304 948796082 757269601 715337308 739244522 213839087 744048231 358161861 514483734 885578984 294887310 627694236 698009607 370869327 785588389 703182507 233567116 282119984 990369166 750533629 808849190 506959596 992001562 621536714 882056531 723422111 870380252 697890018 146343943 715756803 280195057 170934960 680866821 698373161 544170496 687639039 150640877 696232287 904377482 269798391 582750146 620996078 603473998 538880140 684574855 744164465 620273815 651531291 782164312 926419661 427555388 949835311 690753221 768367379 743263849 434931168 254694210 831241250 855016418 410851569 575238596 193979863 100745899 662363865 720060181 850137624 671462786 784969130 409834870 716793647 222562224 951837253 776624420 676625235 880081383 338561026 304648076 754689284 979836264 162128862 640121763 763585637 619897953 164866077 538620695 634867796 106530873 262566953 730463091 729364714 117570664 690962048 941751118 689412482 100692159 699254591 708017248 575261762 907221256 965657941 672152173 205556512 301482118 864417171 150015127 210291798 917623130 175236776 934441209 873343935 867571323 780810992 295125248 987344991 596658817 296316724 386147301 292606704 574338485 900140962 171548905 989365434 230847074 329763822 516755697 114474685 986792092 780928085 815183207 217866157 136741498 336613571 998735196 282040888 365240987 571140928 989869739 664044706 340591540 231823066 684798375 566355442 312635087 239598833 246744482 826981899 538704083 525445881 724651632 606938725 748322168 805621036 869010457 407935821 550356620 846670600 462719850 210347782 204520960 704372216 805122313 322482670 576468665 738879970 352640152 891925990 869360243 263967235 866174368 817476446 662641039 689222830 388547703 573282187 258045656 319065131 678836500 346268548 575041733 256240632 465086523 232873355 248769029 565786343 809918498 518783667 172766543 236477345 661806963 492167728 188129233 717031623 344989552 363293834 874549632 572783369 316741889 285062077 557189944 874780878 134156501 735758418 403990329 121969856 452427167 885242832 497584716 872968831 294916254 563128173 742426050 200834974 693734811 643947568 391271911 143138713 487807311 706681260 934459020 957256824 868712656 536678028 941121458 659756585 424740205 339021906 399947600 967943375 442535725 300613370 225157250 970115763 884312172 660944371 161072146 672691396 198316308 321817736 407514023 278178184 964570732 934471418 948146288 384440621 496614024 524020990 145882232 968809113 651262148 929498752 425412388 594115339 456996799 200258708 628477474 203669024 578393151 545982743 108446910 222414459 801791342 839211445 860626030 922812799 199663706 270896903 106082764 200456528 361659012 810380954 326215834 454721545 231665151 463138929 660653068 391983684 178319155 795045438 518070579 670064376 813168247 709744772 479972594 350220629 125799777 304201537 177711033 914067936 219541118 397788992 669795750 418440324 828321064 741164076 925696758 483059297 789863055 166284422 586855445 854036214 642832699 396750702 692045167 763759365 880959982 997486450 434363578 541259847 656203682 704553619 805125024 607404996 948145459 419746807 702379230 938475665 214775692 641570513 981982147 339623318 907980431 403786081 843426980 544119585 880148057 433794496 631497648 667522662 396498430 478731673 262886082 199771424 700089511 160576048 974921332 243082520 602502654 466944266 576227489 528046512 614478722 997996810 517822284 902897584 140157578 967056038 214520787 769038355 319349514 313629895 189089429 368871226 352647316 409335133 322977161 570001524 518881253 267764553 217777565 112537151 537711946 183429125 679594216 473876628 738532142 701926906 843650210 874538653 747730272 857264487 163221244 771339913 613564239 434949912 482946144 689993097 741963496 378425165 655471430 979355667 497486235 437054093 854981607 141916212 512750384 812609264 847685238 154927423 992740622 912884317 642267848 331040460 377828403 758436319 845812909 594384082 544940709 787325860 166870643 940010732 376108176 749489179 993366974 259193501 120127728 822667364 574297789 662439022 858027539 923196721 215727510 832197633 402423822 571869671 165323786 324402185 773165704 666516193 541529452 718696672 216757815 915768630 110252908 823220621 360704953 972853942 858072070 616201824 750337861 490971725 697475692 976499787 184866550 135154542 341631710 464961358 395855687 281135379 143831100 776425552 245811692 976324339 163432415 958035082 667310689 230566597 541713737 708323717 359564342 648576139 126527386 711476577 261659873 278170914 348107699 762823115 504174027 863979816 834273852 821724573 664510871 369110897 674662086 938239245 145501507 356461609 292295368 192310861 449623992 735917297 445352083 961092823 777352548 722455952 888329099 959308920 176720420 417308225 325264686 850319044 184714261 924860956 698304398 917867284 887850276 975104276 544835088 277950922 842355352 101043664 179063370 994121201 456706729 307396683 517313833 770428599 250987506 725687397 325495112 105461154 263876012 424293217 911774262 650568573 587848747 596446542 488826319 526441747 674174594 407572519 922733865 271755139 141099329 926107295 701410181 838754691 895987201 512695076 568242674 695585433 410382860 813139079 947772417 884683446 504149297 801872746 571794945 882615714 879442836 927372129 248867091 648583373 809563170 133471788 691161723 455693607 665155994 805194497 859765656 470025209 759170447 231553350 265291163 883823950 729844907 912381975 744045810 692620850 647767812 498532490 917748142 257964862 464961853 480499513 812893236 945779655 165423500 357906717 102157069 689380246 227346968 644342490 628559468 778317316 928331751 464467324 793062024 250693019 247221689 619029824 610509725 984503671 152163836 588304454 645784815 439157114 277297841 269774867 988129021 979921071 495549953 774009127 632768853 879548264 181162183 126752397 345874886 720712015 102903718 942080452 442283312 812110327 635599399 508746038 900815377 519325843 407551190 139666439 236892841 883306597 185967505 403588492 156916177 172197511 491148019 502774615 976684330 489496131 376395148 534730544 792638121 755400627 169486866 936998529 490893637 307585248 620647473 247801776 940580835 238686822 830248206 788910862 142658229 823139300 228595433 706741059 957996347 805674405 669489815 348952024 609542858 727710975 268784490 619741543 633666971 519806734 865614630 206202572 387810737 471056143 612960034 949276932 386300950 756794011 329557917 171441275 929469147 956571491 276140362 577716320 117593828 362786020 254608912 958875954 305412671 816500428 799574467 669443253 377541577 415428885 741282993 691296281 361053643 540393319 364939845 660851533 665285809 167002400 705444724 395529884 485858918 371435797 948856766 481903634 788430271 595693082 999998541 301044458 736361261 373124917 103220210 755595444 434055268 905517200 563983309 971923218 134269747 242025647 430668003 931495486 548424582 521751141 580163555 532152665 587733478 137133953 579645958 383346797 919177978 269733479 502426664 569604518 135450325 917358711 856073918 634642215 222700124 865766083 838806768 830135761 204913668 581232861 436071989 429063962 628303805 570549869 639255390 283348308 761380988 693099760 613548951 844146157 446133079 401130751 764763342 167180621 264370248 815130979 422598863 623497653 929352554 283567002 368502010 981183327 773288876 971430185 796049098 838431567 803478494 696772811 703195163 770996834 561140783 864227234 117005791 192843312 182042652 393079596 527552436 306789129 414371287 131519490 907463123 130266143 173497524 100781236 640447029 790806002 250929429 313682219 361598390 296869192 210303635 890940228 363141841 803780784 393520153 346566737 682369047 171089333 895346934 234111911 641506369 905574441 597729778 726332357 812555125 734087272 209923166 125755592 397723667 263361574 107120377 674798790 900589094 224591566 548114105 408888325 100198852 865427400 368958279 740616318 497321887 679519127 311377697 444965362 827155343 706179977 665717443 790409210 886083641 833173196 502564578 925786816 882725524 947039219 323742013 598977957 553887564 796188786 458565128 925586416 270259356 676413586 579643377 959809666 742080432 444664582 170238172 926213169 554016914 252369926 616071055 905433454 306474683 859778517 378326885 296709155 934503427 787084238 386115048 661347365 409673963 315652630 647139218 381750137 302882858 179365145 977658510 400867098 119153981 719809208 562014433 525074205 731305256 719835169 679632571 337497873 769299660 858517879 101721212 306171779 655443682 231069234 641527484 171725703 553749001 356956771 786719809 578855024 918320102 835256245 373185294 961026508 704333078 214551968 505963367 352428213 183444647 862603278 886420561 277239944 659150478 134980019 203533564 936219359 750614932 176004098 213129614 548069063 264297796 636310370 607538175 809760728 465578189 380047604 586330408 762776535 148592646 707347761 234516812 411327287 843682650 356481921 563063150 686688447 456377214 159364063 778093691 669414567 945241365 313271276 862551359 482350716 449498789 426990841 691639006 387528875 851273390 112390830 748575831 202607201 198524130 979229914 860713715 426985652 376951512 938737319 542880412 994576568 350932652 582109095 809606664 236904397 889818521 410025892 864313192 384634674 667673553 837132022 199378555 828201431 285902070 180910794 517453334 297874390 229826950 208288260 879629197 955562256 194798132 882143557 431429721 480669738 292759078 256757111 851652417 629131923 641384786 757811612 864527807 551254245 279473612 663929047 871113852 620984739 668241944 894131153 237529857 861856757 360702346 151785354 292261645 777819886 461831461 938891815 262459420 716109889 703621772 753341864 124146131 674021787 712081014 460780848 309550667 214660547 216834351 366213177 794966394 960723137 369903699 106751307 452669000 836266205 822902927 239392889 121618580 501948587 155736799 615425295 132351256 896483341 164743651 108686274 996333362 607778371 759393321 642041766 636402798 566173996 388677471 782986164 406704168 833478176 564051985 508371776 191630912 418447074 541878081 701045712 571855778 951834887 909820533 243580372 300424372 665680594 755876874 786441474 259370880 537842299 990361552 525572992 346380214 778503724 628726673 574791575 483631713 100096179 574133056 104629924 184635966 446051747 987478134 533789360 156950610 379292346 515637136 723327529 610086421 275563424 930695805 581283383 969033924 666660235 103938089 299547204 887145037 366241213 267324824 383836536 957444672 537712508 505257837 678660581 738237088 810454214 941542389 166230781 713631029 650744694 858376988 380881880 719873224 971576200 419793703 450881295 653237950 905482638 633275424 621957853 831916285 196920694 145824276 280734307 883878090 136780044 749779093 208149622 342947786 667869727 102801422 452876009 338936719 739312290 200218092 661668142 428743334 654421599 287432756 887234131 619449656 972456860 719006338 932072797 187691000 174075582 399297708 770518981 576529596 313488001 439848939 943514971 392877232 630343457 495721139 673741417 351011035 264362010 178194714 715805422 830878244 780074452 186555530 646656436 201764475 674561254 229750873 922007234 378296475 485811108 501703854 938567789 738401369 228234689 188318702 939238984 270009698 331877265 623900729 473379115 607141969 345193804 919986866 560295677 390490395 898498658 727371214 629430070 550905018 439507143 440135201 886440056 190489250 680522923 411554469 290308379 559739137 727470274 337041835 561938283 763616354 244556863 529146939 175489600 805990290 943775266 440452971 978058377 478834047 402457628 215936609 101249505 542496050 140968785 620739016 108674524 545380205 279715746 182890983 946020315 843075486 558618988 705738643 836594502 360714575 648057661 402263527 844646403 523271669 539890678 763352444 897883972 987694032 671136690 550658405 755719743 235309483 396786930 471113662 547386471 413292874 755847393 740413984 566507109 273002407 996651853 377736853 521337608 740778103 425058503 568074409 129250141 960313190 198312456 805834646 184204254 796282912 238126837 525626763 620415207 687641603 901259257 118833935 328103679 581352194 927137428 541732902 383024584 300521571 719798759 437258028 964716536 968826990 894814718 625797880 339339434 817665386 472741848 776431093 279549649 554391414 464658116 481555678 999523357 877178889 589591736 783261551 759269880 999553935 832799530 344884161 661344215 791670863 908227342 303094515 841230898 493035779 338580636 700563191 857565019 123667715 154175733 565536742 942387597 321393348 563833217 123348652 886315766 723929121 693746351 225825288 293159332 432032951 429091484 570911919 869130269 872415196 471977690 913136207 918510115 505910321 786726367 842618701 519235108 389691878 744268341 675287081 277013607 129907811 270844130 512391698 713998723 927126264 143589034 972953233 142334096 686253787 427002533 460100682 808761380 995593998 227801944 772517694 581106423 745479159 703386355 247454054 828538501 709884389 137516944 395635414 658786940 291910167 733439789 978780498 788967510 288089727 862990464 125075563 755331925 215442940 376194670 426457555 893960182 702945911 400474312 112534183 284867816 159539834 700700005 759419537 365404920 593765725 920902572 641860919 897924034 474962578 354158568 218368530 288312654 362996768 193772148 410292100 407321368 979329938 817319646 114936428 303744792 692932432 380564187 634137142 864479705 649551035 737687517 744685975 743452377 233206740 965376083 428491599 561963299 216200054 941117764 350964491 679453293 480695649 638635815 200751485 210038765 381401882 564312086 985584327 382027771 880101458 593459166 765860072 671173200 402606325 711860226 124622219 975105039 457304750 361313172 249129426 907657999 730116034 217524849 774297474 334550836 403068375 732318606 494482909 615771468 608925500 436303324 517611783 794467150 164544308 229404951 211708905 738097331 616812399 429531093 605356409 871435513 223286650 940553017 549128588 694882881 640797261 547428873 826454917 914156115 368473905 847371543 119132197 415217646 862343569 481927549 939382594 312019345 197170025 529483677 188975925 387959733 422282575 993669261 187564492 303567471 602511182 417318042 528139684 348813707 998060675 778608133 779921338 335005730 987650311 970224725 834076546 492098614 972203833 461308656 937600660 890991235 223562904 762504280 113182742 462535865 446173912 392132972 692324245 767341932 501787505 603494108 974973178 516499710 893770178 640098357 220434403 824338821 621537770 174372336 995711631 221733081 752154559 592444724 872413082 943622626 707526481 167390354 456299498 234716511 353626534 418468055 152154100 746584847 189928699 257212026 709668687 952788831 430197749 868048507 889417231 611327843 257041964 779134956 339322185 793448728 453957502 840574750 530750692 360887202 845497816 179594301 750372370 950318689 782686866 652297559 576386943 143744204 508706750 256363880 967907105 670036334 495943739 489521694 235693565 388262886 428507571 699831035 261535400 640210372 807654645 983456323 872022273 872104523 158330670 571178234 421663812 785421195 693284452 105223153 547298850 807559157 550403116 964481094 541755855 512645397 436780818 130861062 876578132 463644102 255000296 753055794 986337712 700285111 313099635 126133582 195972746 640380434 487565520 196025542 430246971 179591812 864490379 684399989 604202069 632144224 942562146 758476036 521168601 500332452 125084790 123764356 174612856 862052944 276845020 475648769 785933931 549978036 106413270 341239821 635802007 862544627 198077664 140730401 783381704 139685148 944224268 490928960 255344174 612627569 357442459 129111737 219594804 951442028 931917770 186290581 674831873 193683043 543943171 318194270 216245436 917863500 717507000 887402666 393401494 434996072 313118295 412486528 329433909 263454241 731038010 885868111 123138717 542617525 415167952 486149749 209558767 459474923 939052990 792186974 802046308 984456096 990192381 518708731 525582445 867295975 864365485 298052235 631305907 414544988 600694154 413900843 892134951 801194461 299553611 976684977 910772540 220417127 671607941 433242573 122946705 162017642 251236909 396143147 200107211 233794885 144530697 283133813 587824556 898856989 549401359 621162912 970037400 719882330 756328400 558308019 959719865 596077307 121885717 867376651 213468218 575140394 747267658 562373331 295120912 755010524 162356921 121371693 258380898 777782073 114552410 601219247 693929924 506019106 335780546 549147506 618204730 843753378 682065668 289284154 511581850 963100472 589770449 787883951 861189403 817411093 870698192 554996169 834586144 674789011 438763817 200185330 115613978 176306512 141266659 794522770 270637939 167082265 320273352 387192734 831761646 611805262 156419692 202825661 321795891 881516022 657311547 730966019 650447253 522943720 907921885 158652968 704638155 241522534 718406928 704214661 579378564 963620279 970086102 747996514 699566853 861242124 629986437 983375566 877780992 293486002 631602601 255950388 481428203 655003619 913738546 326379263 425707972 208742472 690019933 121314069 449673353 661249866 107438425 245997806 158640683 197575435 614029906 879669293 843277349 416759362 347132384 822030435 588734014 126101027 368181764 113889112 647273807 373462725 437342648 817102613 612871432 742846731 636943295 858532212 530478959 861652087 262574506 107812719 798418374 609966649 911766866 967275593 394896523 136028789 919714161 843142844 388489776 381842058 823023110 315118961 489851172 501775387 357981776 233659310 609368052 997703109 458794653 424311049 173342924 718360177 145231274 374755488 657986450 354011712 143762451 787587896 712551477 806610024 724653382 715650069 102191282 566113577 773779706 543414235 797198297 965567708 985456270 572309739 103219749 486944903 164993999 833935037 524943724 411150800 773973642 886471248 407400382 383716156 161860350 789159870 657341036 700488967 480641900 959576963 600444854 898949100 769240574 490318311 755348045 177318372 750030333 229073688 796796281 634718110 711045942 119233935 856264206 495498997 869414482 123045396 135946367 695711625 921928439 529046078 877831609 836451089 873370858 493357940 964699124 508508401 954196322 861212274 987961523 149613884 145163394 818618744 332947861 819058342 169030489 880596693 253188259 827793173 350398962 273621388 179442499 668386239 799758490 641179012 811047103 210213431 111218918 892310774 892375068 552215388 735960246 520073388 994703111 544678940 496128715 477168936 405758031 785232104 238016701 555643914 940100976 302307473 185594398 185366415 825717881 712496453 853661317 576630242 955471261 175637732 671076827 938166105 464023936 565235585 565450720 361954773 929549557 950973948 508473833 518427234 370973942 146109446 682422299 866595462 393178821 757473928 985696899 716869311 725551816 363172845 357316178 493429852 131076814 911662561 894929870 716103642 182488994 272908985 302439773 706577004 149952873 178627455 604275347 802185451 918398752 842695579 458432590 271624530 705991186 135107012 791140889 109693699 404355143 389426372 249007941 965363635 709574257 770897811 501226502 483811726 240473840 525373014 825674221 660022964 102709220 929715434 880970712 466762494 821885431 870620517 160549025 515562326 793470362 413869363 326959425 165184504 329739025 583641475 333209316 733864273 540974525 292667832 648724718 603147148 384230660 226525077 270139810 204277096 894884710 678448700 640443737 176304156 915365717 171282128 275212895 713453377 650850682 383409309 952661097 248215934 434237768 731976695 837026153 981710553 439410883 556764608 453275958 363074220 504203405 598227754 480901321 123294944 486601761 841440404 493110881 798284535 513208546 278692937 424682685 408822554 513622139 546655043 775817931 636477350 608319228 542198886 713494277 979859853 432980879 425995535 159604901 729494241 556726144 626769999 256494556 969381076 629277642 818282315 939839516 340233571 892751420 340175286 748198339 203999642 535602953 710083994 947346491 688559404 344021098 568464703 619536333 926694393 586296957 499308019 361610873 155382537 977126198 663310413 955002459 211190074 718692783 740161452 177954137 141924681 753081813 874746167 879273108 359095599 979447781 489042521 271111628 365161725 557067079 631374924 517451427 854789628 792065202 144853968 479384986 237842651 495365887 559541318 702097090 548621904 917348107 623700674 434366964 339082912 998467974 657489512 628816944 939644643 106249891 345617112 910489448 377664628 326336993 939165739 630600040 870129050 411520300 442840965 808500940 238118550 224843198 522742809 857447345 886503288 118675185 512268029 711069651 155733617 372106166 818715478 315555806 942213467 559657045 415324871 933858131 899855769 569781483 572163719 415953088 899699502 387344738 446414458 786404098 882251289 397323872 835311333 543250618 668027809 966992015 378077002 839687810 285919719 577459849 555676941 306532416 179715254 500836227 581766576 649500697 820041465 745434055 565506462 746238992 206532837 900691620 348809410 559482148 544693011 204388238 872632323 971307890 600025747 593126135 135779526 405952622 112047428 330244387 970546129 794448758 414265526 841812457 297217908 888942699 237380115 412956423 379098007 229245346 993073014 298594139 695805003 955784556 713037156 395202626 630954338 362606078 964057641 605686661 224994667 890758668 793667689 214332626 572011903 958345408 414490082 197362624 424503341 665847252 515523121 746847081 563235958 922594925 971483162 108093389 842368371 595543955 916906377 865108889 665162687 261834441 361847417 366562977 486639952 936766029 346213021 346274614 963063493 391683748 362174058 524644930 657318229 605744067 894800606 304784677 554400196 455118705 693610050 529097493 793069356 663572829 613586828 434521075 278600802 652909775 112811070 394783814 743812302 383008802 584361943 386604750 291801742 819289567 217160438 274828908 587132178 297953216 214010553 976351777 810410972 379773421 134490177 278256552 523572848 605833940 344705040 515414128 749389790 215321366 417571019 686326535 754447579 791007593 739779752 617833570 495308952 280789824 603846861 790351715 258237353 777046565 249516667 447540579 572805223 185804349 446552203 559897944 713406901 875960237 681350156 620126496 247792904 358415905 921735277 477243577 199587304 328696354 885700216 901551796 841658382 327812500 772380394 644346588 190397654 768584944 955109638 375963003 128885396 901003900 431382077 544038796 677741296 832150304 429387669 446138200 319780827 364070652 268219148 311097080 821776777 702600635 197823504 169423407 976034041 160109276 500499239 859055388 100093221 818063948 839176456 890733827 853646531 262121242 700229577 793870605 471246803 180001627 552190451 798689534 510749087 801840461 251630997 156099120 376220594 908462646 708055390 602935743 697474712 552544011 446636064 961057464 625528148 421505740 991458565 359875192 273246608 808334001 358011738 438235240 721368275 648311987 807015128 229737178 293131398 910595442 579101495 613321510 646826467 192805895 317748235 237200423 205386062 384266066 250777589 475223702 978464512 524733518 377282295 273881518 463598166 923033006 102848944 834508889 248712660 429332726 416938354 240419062 400498283 473981387 365072960 178793529 468484781 288392038 190581912 379107344 935500233 351282479 101804286 577854078 712370352 318296669 380575266 389927378 967731349 120816294 571072621 184095832 482860043 142120048 606843248 797606672 261755064 702271166 116101972 754686819 334447489 848568491 709930014 670486862 283993533 241318225 795400936 320513845 598401800 941580204 814655262 625314272 103099750 799040304 495912561 409239766 976188887 951139468 549975438 272657039 678516692 269649454 719052676 341006984 463059963 688150607 258778101 488737618 303531062 192844500 528371421 885891610 356067600 621065652 718204595 258856405 889819105 618295135 634240113 825336973 741355292 879142487 682474353 818296278 799837562 134669190 364817603 997232205 741867951 241232343 466849765 497478875 955110903 435815182 488982240 275128156 431021475 323425726 201115093 816190685 419158531 827698502 526588044 562780888 136217628 999874195 553211615 331748395 105676472 126948514 501538842 491323340 188518362 564159175 331765160 521222611 204526613 113383425 178952282 608741465 340265483 579441922 233600874 266534701 968737601 944220756 684968289 850157974 314990622 545800708 274074552 147637351 671802855 658868569 411116288 898802880 338699032 152393993 295309067 389153572 774163097 894681125 663312468 288145874 338627020 559300427 852658091 316638556 199628174 416074748 314563066 191823230 348563186 145508344 988480694 498162305 254489827 155156426 585489766 748802379 944672625 261769857 144879673 464651870 412434346 502270998 691173449 464335968 870086157 134453310 234823664 223328776 367193974 570276471 416039038 421828430 176678077 824661388 496041991 695763432 995618261 735652348 129011077 713469928 707092947 306124922 316090345 577728267 894798743 389966502 598086104 367444707 290434512 877829148 741009463 305175661 280218977 117570542 850177535 209493927 122726202 363991297 826128037 559953911 242068757 642343778 832946586 211326037 115172790 543290926 197240724 922373174 707402683 859328286 164664544 955113873 962449021 425236434 350821015 155055239 126416370 104312156 141362515 644717202 508940034 612571021 939889077 264392525 928297113 227358969 843920943 758089834 916689021 808233766 574821083 675524939 695036231 181975822 626653987 492045103 461546789 178038849 413837198 572120650 167038661 805356640 952494754 109331004 399861472 661392540 796693033 985915578 292064024 137149323 215126042 538417939 811822306 376080277 350613113 304619106 197808135 375689230 926759713 411513019 980750556 899360872 430586936 235756331 321191588 338031207 964436265 463330471 128391741 273024161 268377710 921609215 576942556 487843115 936925062 284206889 420334761 273739614 477992479 636869016 650868378 766892534 102172279 797098527 280296739 645874695 886536980 463867839 369658447 553112445 345480734 236080889 376489999 951053415 257276335 545924832 317264926 949147054 811560333 535001814 878853087 332891305 573376042 291166346 627993586 171336829 480951371 566390891 559502445 825609421 842110780 707728530 126179732 480174241 375651233 327265012 472992297 321963104 446273951 141399592 381562283 229976473 761660848 316893561 505262500 492013162 934727945 811403589 209420907 218441549 731003288 816726378 355779975 363536513 708520529 616540880 986867458 279454404 740968832 509161482 518645663 769177550 650515043 150769897 253614735 411331139 584553363 362687390 281651818 738840686 548303058 493466679 961957071 606698503 207550571 469246156 893137717 854214255 197827749 289108986 336543165 745729534 697318133 143598810 469762357 635440201 584836759 876129627 273429525 628892026 664581412 174900691 562214449 413374247 667592590 173416138 507918089 230568091 454518207 636184329 824214542 647988792 511517251 863810483 670727886 634997350 258034058 167669295 531998419 437822342 501477395 670166466 140526810 448721979 135510664 653923971 925625899 653387014 900938088 849854673 893811684 948940677 987083964 830946647 782173816 514778112 987675982 182261212 298300497 326460637 493423826 388889572 430363286 474161041 392208977 414705486 271483122 910051737 568660180 295701708 136937818 132019927 682960391 477477459 987169489 664219604 777544563 931419402 511195302 667946602 426592929 344111809 827144715 110814885 707239598 273838534 232378039 843947537 672734739 772934522 246453183 195643441 508119272 747096805 638536622 243526918 295640320 929915665 869524433 194863938 467007087 510231740 341614896 491892273 618324938 787920642 495522986 126672999 542305666 695818078 468357365 418450737 529505260 482844933 370978792 975086022 996482197 837989084 372337029 882926507 327072425 404769760 136142571 931924907 732899396 523361998 498852358 540783596 938541515 976760503 282642498 919728965 823287226 867209490 744860079 639149349 357308390 918274062 914692475 866721211 340954246 610944985 408988701 956019405 899592470 242110995 585376473 958617696 303410137 289661213 127579872 560177228 497411729 195352720 816460406 265199641 634969333 446053048 315862991 900069725 131687402 786562862 265845577 832210644 618826549 941797005 436576227 914197593 106784988 286951830 637641101 692783733 954134775 132680506 858477565 255615426 232328215 174903475 399650923 340911646 790906863 517411042 493885771 413960030 691782856 314118418 714565446 810650797 184006708 989922139 154233711 914405190 438089466 727606139 924040959 152796319 794537845 863419595 962196947 467899505 808329677 592615348 853175081 250063649 636978788 708174154 104602342 639419965 786392504 858537257 773458393 405430715 217749261 526890258 763898522 443566683 592428538 830778799 502878912 392492361 208402099 537852479 580672119 248736585 601692387 359592871 351135404 158622000 621777633 918440230 495882812 203230594 312802973 801422937 282633647 997932643 630440556 859009477 994556450 821837910 734817445 616717582 486060634 474661082 316815624 817670901 831806347 757951573 898276592 973341501 157192611 468833671 217149179 315637654 268503170 639239498 307943767 168995243 860469758 215443414 578360722 832129242 625936236 433711371 984979694 170209217 172961537 151458328 596845599 675412514 565175873 266999272 193544145 684400745 450598474 467735927 227470008 671911961 807513276 351779154 150664853 994290709 544022648 449563270 668905117 985925468 919019166 943593793 946517087 334781671 505789399 683492840 443378090 224420325 922139253 303309438 454549660 922566252 507032836 206461323 510369279 173050609 330724383 736042772 956744102 906179399 125009587 246289315 212928798 957073934 770919824 609110161 678568252 612305237 180618915 901808825 806224328 484576678 965228968 389133082 772707151 952499335 193027916 226941644 602681459 821350265 590146421 755385794 224199755 456099070 851357027 618649226 545666934 721366750 505333850 652404452 319517660 909728763 765460679 487626875 565103841 220067021 754695570 247251948 457973320 516145519 725871609 652373453 843646640 831608329 837121961 152590030 194590360 815924611 790386421 749227132 846078860 962389202 511380866 336673071 455117352 291342423 968403689 907340293 352051777 263148575 745423019 569680991 190330062 795229583 674073606 408447999 367712275 946151211 904795098 232089509 764892490 160528926 412358034 279200579 521335648 164897459 579689675 585737309 635146392 430631295 399129315 354843020 346829941 983164009 985360912 107309239 499509675 809661451 275477029 869100146 592524176 178540568 192340718 149638764 605223877 464623028 700827910 750082793 113939602 607718035 883810300 218050809 280481872 185940611 376030892 377001913 405510492 139058169 101090761 834291497 151615565 617772727 572903301 450540398 666529264 689039498 663360862 263843609 998074011 238223120 888062558 302422006 733075117 263902496 779483616 299055180 912336977 307203498 964920849 253367085 855177627 849601378 313911019 981667271 595208367 916886507 453385525 952230488 947942643 107992516 853963762 715881978 342188677 875322065 257511167 534282589 892061752 737913856 581121102 738379389 495517584 849913413 982631260 595374136 227081913 464799634 119130737 374991619 157021798 729222919 175276228 348086360 679528919 737787179 124864992 219276589 770951259 535861408 366158594 885954120 640644405 412975925 681968064 195140364 896009510 657417104 821498775 367729762 223010174 263400698 166098154 654153629 301973082 427729045 463947260 649077514 230124623 556063758 694812501 883507183 708625833 477090195 997270874 111649575 597774566 552134631 110596714 436015078 716076135 624340822 632490388 172642926 744343732 203092075 993309441 682249119 594006223 528666492 931606700 209385107 614369536 175377664 730262512 600619299 915829430 357760581 723665009 828599788 554212934 471652017 346243874 324511693 461911566 113095613 895275659 333297493 741660076 402135116 254976203 689263750 457252501 242131150 930290109 190830012 277675456 420286454 874429739 188626373 589915855 570559437 795323993 804178415 146578249 266590442 388239833 376304797 572803702 458327760 172712761 770132269 948099845 917658703 429119469 185097326 341328457 972359355 967661192 758027773 816912355 763026418 734220630 822208807 488161604 424547066 149862405 241073263 311153374 479090681 849914184 585140826 243312808 671449782 532886503 632813455 320560456 381381091 134561760 678168416 203274633 477923258 269666077 331058155 345273297 644813466 972128648 483942731 177618734 403254872 738186041 450077064 705732590 543125936 233343899 676265745 683953389 274204797 542900771 532539878 478869994 521030909 651612923 876824330 783534372 789250728 972158581 303352402 311833348 374620008 118790925 977031795 606490639 616660286 872535901 458070418 829199159 226990363 761187917 488328298 700122593 816193351 928132737 694583583 497404211 176130414 296230342 751804239 400730307 462406479 252328210 408148235 741823477 195177886 937837774 221551350 731540730 917258935 224461544 428858106 120183055 375750940 657651329 225962155 132717461 681576995 438425708 236414297 693279626 161247303 159226228 531375885 511006310 400462934 602429045 247074146 664796498 621399926 282794855 980615354 757807175 709764966 954257082 937010856 350393367 924898960 500090408 852800450 299418839 340336638 542325068 357660800 740870942 712898258 357071746 939912734 338141091 982471637 804035940 530463964 720468107 833891988 727647187 742682317 627966592 730373823 444062173 338679555 943021436 741132048 176794073 544795362 549261240 568937241 764944412 714340665 443722218 782649196 111352285 647180932 923887251 723997938 319276635 308083670 167014261 150169029 258818828 980144034 589047600 614371365 274806845 168642867 887418931 323275876 724780953 947285006 582895996 909162413 727741264 710074610 259440387 910738686 391833701 370546353 407164281 569194541 383577465 437216441 709059970 545832240 616888988 531270478 576314295 649634351 795264986 498637512 824737771 634546158 744687868 776027286 588009711 391350876 115937212 391787619 123145675 427876648 735887342 744765804 328532589 153104194 443158786 169398264 879747017 764621446 328403703 738097701 662733521 414702790 745725994 560774088 354080673 130880878 615114091 645311640 893091554 578786955 923598291 590156689 424778408 992579381 745906090 790537424 533974814 437864068 679133865 415559829 932575478 673675986 645241628 255511855 870076143 606324706 874788813 520057870 777886227 355772477 326005737 712359648 842935959 218578407 582750455 101790654 862297230 939878205 804202181 927164120 433700942 921699552 835934381 238025977 760407088 467939224 826843181 617619233 285581854 421459611 606350835 142755296 230393209 937658222 938219584 346693221 365602524 265622995 566335288 534850520 500788015 671281536 187237577 559456872 791305554 517092599 656325992 858067253 222361925 888779747 610624794 643804167 944038946 583837649 903459982 840174970 269547695 678949404 404452561 277150348 935621238 463894044 272085873 378043786 519606196 478073467 968378006 788284368 655024866 458851051 350829968 429133728 404160525 792008883 439636566 300966229 510667659 144437724 194167000 375636425 823016606 318356779 594676038 264485205 271090686 406424077 515499166 790884304 330321195 280201253 101336776 176629548 808854449 337693170 709628147 270125074 724285320 177241373 362993069 203756446 943785812 423195711 640693123 222979999 711365461 582479910 453528769 719658666 422361144 573996490 191600343 398313880 118071064 327900053 689899666 320854084 194057054 769619823 368511156 578702886 450705852 769310142 223402571 191391025 819796442 311113703 529671101 273387118 866927177 710219200 806441546 738541890 878360249 222339850 447416649 629418204 662031075 258245780 149615695 790053311 406961977 149770162 236498268 770583714 883746577 764031425 721335152 183243066 636750586 901660822 164103379 619773892 364907064 622917471 553160511 522462530 511999484 226430559 928330681 864449665 974030794 360917500 808132505 347956491 161346369 486760819 579689353 538298372 477961144 620068849 733124139 744623964 364331075 507866327 148358773 905379623 253009136 418352892 150426359 770010094 202929575 476180367 631778334 732068338 290344160 150742324 654544462 331036373 554994148 958040408 685277958 316265522 119056540 451133267 739768430 753597740 799427169 442536441 949506457 651451462 159320527 335178874 763409423 206730864 600081154 487347377 587414162 443953938 772186763 119012748 944420428 602120548 637541139 814411837 869585996 208667983 773343744 460676643 667790597 371890259 912666343 847033976 879445091 421975073 424450046 649354714 247845073 425131126 160724032 355473596 824651098 754111056 125408026 236955714 577590926 494334331 979766147 875778746 773131688 904254236 339132886 408950014 213489219 921028410 551263682 462729660 162941040 150113214 210448629 667093611 638217860 584043806 564159293 358850707 119355046 175242809 514639093 727335648 831623122 435862746 857260960 575461243 829699076 831521686 265520139 502732218 979183103 314244258 824310401 477438044 723967252 982256599 290865629 406438610 766232637 721924628 694470399 340972152 929204895 286533126 997941351 910199558 703419244 951343775 533191458 276386836 183264877 718172323 964277121 951047613 209507954 277099550 764711505 148401895 485303581 255054388 899782691 634072318 879206814 937915689 637410539 695294810 429745937 614337290 660758963 506217144 335908925 733634800 847269016 255660336 817098358 835982687 330744061 331768402 602637646 632656028 206580824 198737446 461462218 773871286 327179655 796920527 306637832 567978669 493595026 521406041 302265871 808907879 373928557 993486529 192508080 988287921 757571639 364340086 879349450 363857284 175798515 882672439 889817887 467369930 461744513 332773757 594299838 834260547 568143235 540236838 110454090 902669324 729436932 956813057 764687780 215422494 705048043 190090058 341942877 303953563 468789392 240451217 207623235 540169421 540986374 519212769 587831768 116405807 703361729 591303653 620376203 623446215 415773577 352985838 793514665 964471636 950042643 836450903 557749115 482077717 629657714 677575909 373327971 723551499 627614811 484540456 788464045 537507960 662510308 714502490 376098331 843737996 928168965 368296875 959676233 449461318 498320768 313882964 268216489 385504346 185114247 219005577 174385656 245401382 249691510 851223550 567111347 898244511 389759672 991250710 122770103 652366868 258385721 828101181 630465342 914846451 380398488 707314899 453714865 369571267 928418829 970844034 631911136 294223698 644002990 949192685 137600505 663887132 606927717 304248842 643953639 434111242 726920352 906784010 360880554 236561307 531301784 104302884 607605070 274406101 943047878 226465422 483729138 388603809 529692843 673000714 278277226 611933557 394107734 518305703 372673546 620376760 424786757 522323547 649306753 116452114 623172975 496247742 424321545 188142734 584660301 390313106 481960317 455448187 607801389 288988302 636234900 362814964 895697608 786678001 877376722 866291496 535639189 545677326 328393337 244313900 753717645 661915420 223821832 566148335 122076799 936640133 598365303 464329471 389042261 787902875 586311144 434116218 132401231 585509407 727525317 144888594 354240417 358935121 814416219 238024908 341438696 956232528 444042300 128051480 406369609 512229994 117179856 680379118 163983903 452797504 627682072 477463887 104163059 739925805 424825559 228477471 172387059 864681231 217679740 241144202 800686750 821407163 905436400 706259521 610911352 343781403 505172375 163844308 427522179 567464816 112197036 191260043 569297170 986347372 471420260 868155069 265326202 884646163 549011302 923692415 499410446 737967879 556161107 877247861 484048510 119581219 415583986 125242167 805337230 339699094 565175455 294493384 143783345 880317884 158362032 744263915 583213646 312057504 352005764 142740611 265946728 503091647 336428043 844888298 345038372 796540463 683157332 918786230 759421033 703681993 921674003 641407592 208460847 948544951 195789131 751068715 975358373 207060881 639671973 429726900 260580609 254295727 722387785 178610227 846811890 658386227 105271381 127188035 869487436 577530954 977769902 337140140 545777873 359068096 644590920 603674508 331851090 577102785 462847223 723649093 966920539 551218279 129471984 438888866 986143688 767214611 599051251 888930743 783560194 904049970 259920800 918934492 333261910 710354506 128878891 210133351 365737134 907884554 239866627 818405701 892131219 582771419 816226998 232280588 734103911 393332409 962180743 232925233 957017584 633852992 225325721 564765468 977564784 233478302 646604721 325154632 873138231 902003653 284918291 797716321 418175639 704053802 343833043 608783353 154236097 533329257 525359991 730141789 922661187 594351470 634694468 509561137 338849732 761941392 777763508 710386953 221876167 868300571 848102251 115857842 185659997 352865790 124532067 593528039 811101793 697829584 917145742 855392949 435544298 202378059 894669392 433381410 144709105 591995735 703828020 411965619 756965528 284308039 292659493 510256341 271892223 559553851 682362329 527967729 688608724 295815906 330111652 363602082 873921553 872636068 664425473 491063206 756278839 777418989 681393404 817958236 887326075 997410093 966551645 238849345 874398677 446499996 197091002 848850459 474934683 131568984 372519190 872418157 886355659 351416868 360719340 442215816 755973247 287023557 452930305 258431553 826673117 275440679 435885177 271813230 969391490 908337092 622377392 542825559 259881497 885065490 237052587 514831148 462088768 964115522 971160472 688653212 602670468 952742288 548605952 897872390 650922384 334987685 223654492 378612555 983504818 682463221 989825668 626502568 135696115 680943317 957635888 683224071 146878134 404823886 232475152 854641719 826162033 181484322 404048677 590913129 938013571 243346428 110976319 713003754 872522020 598461097 698694418 600989251 126061146 149846426 145390838 649587900 142358659 555398845 360912479 372790535 613944520 256136870 640446538 301077339 987317189 249536082 605837015 249272095 217443448 275108609 426569542 932270007 473856735 965743980 664947706 441739388 321553654 844977490 605757234 462523648 494382521 573967662 491753260 886793880 302246764 933005200 878023498 326888169 173965650 805480591 891924257 899931791 744602011 521686951 585484578 482332746 203001843 490884974 112551281 912714301 790277863 628482847 400038274 787945661 158465334 206257510 677838980 312279588 767426950 787146194 729544172 757869544 876384747 426197763 126169715 555510502 435573565 375906385 918103125 555484898 983286266 943618862 381491261 660427040 404614521 254575773 947540778 924850086 469111845 594175292 566290129 581753373 146590566 723012775 942436285 691102288 238628801 269903246 699619287 535488735 780023733 662983222 132243082 640432222 431670387 554109878 120015812 442578928 756081631 844176023 498133342 770870199 205087246 521975671 687524228 307471600 541335248 939970366 758462359 508096099 719354632 562744263 522602992 856906042 580206548 817132490 130522487 854481397 355755300 696580808 980653402 443507559 972350273 540033985 703133154 889557937 402786729 703612899 676510716 400501546 649501517 970569134 449295132 713506736 842717849 600207025 198436604 478781876 873836708 986133771 642726672 517036846 701802711 709841451 105660558 691707877 866861493 262395319 838254305 571248392 960950379 462991503 858016341 535097020 987796699 597096379 226472311 177734133 120958984 819696338 171693716 495687594 932348252 583960006 862302139 993148271 374168266 572951459 128749797 515743793 836473617 838938567 329317009 283190690 359584174 887160111 754880512 223624133 940583132 755389637 782657059 651157875 256416578 290485080 235359048 961975620 182621314 738747046 155052878 890726038 226877359 827706620 939971403 431815932 502874534 250030191 455441912 811947853 619221326 902198895 511918434 233489585 372719976 529007224 889363228 352422238 340918275 736783113 595488816 271984362 241930086 894435487 145785281 830128408 474334728 632523773 298282333 678401266 441483201 715080150 611550339 240123022 167199197 481170815 309839543 411278797 844881088 673471226 685408897 990794896 860259640 954018863 943607677 933810971 948463640 982295982 874006829 525169597 731757052 723544452 797211733 480161227 955314104 483828330 701564346 664145296 117914156 933681867 287545830 901519321 752615623 136682528 391172186 390786095 479658194 989991327 152998746 978747471 663499672 155394773 280466113 286564931 176743875 798831754 443496505 284575122 178417330 124595851 435740899 987108000 220077634 868046895 829290077 420816018 289436004 825415239 620375444 606360910 172748427 389568515 112962040 657114309 790784701 780000579 633913502 413029201 707042347 105077971 165819609 375681971 749091163 268370951 364098081 479774400 223103206 265136525 404790292 704719778 861168065 978220931 592264462 763272624 779676679 541416842 440504633 445487864 835841824 853106948 635055829 116444992 348314442 451193743 699440892 429066826 366850382 950364302 664812448 934027684 666756154 190357150 339791768 841157868 417711879 646789239 575729403 682114401 476033523 371180760 734690704 391718113 517133488 630454716 305936728 274334656 393375281 195567462 300993643 259194095 353288395 812010947 774477490 422137960 423454076 989951405 999681229 734198431 631304834 534272587 243320490 662458367 328367047 281037829 928617158 331972742 852503143 120432582 541672914 633721999 813391457 392306602 273263123 432186283 225988979 649543524 519336548 242253759 560873885 456429024 896650118 822347400 683660144 539063639 832301903 201159476 487801215 108542422 882954213 435673868 317974989 188783357 406689247 608985533 677785480 187019516 767506251 978106563 181387408 577297070 226870241 264693362 580243010 720439383 559895819 538211154 636705925 230356952 439023149 596576445 207962138 411994137 133332674 357930120 306066356 665847078 326171149 625285946 380750786 238908514 993815425 779064191 828632658 157744168 314657402 523621440 369198921 820513099 266637414 200073632 704462778 491783929 159719852 686496643 212325737 400511073 682812519 911138941 242962306 684768857 359029313 252924145 305264946 990377904 597513790 335935594 856310781 960439354 698937105 286073564 825475405 697723578 356435284 808126669 973942554 746810457 925411482 246857450 665989762 708034338 497879219 365208686 379109514 278180020 230314552 627495836 664391234 463959639 235017262 837891181 368743658 146607254 876819216 318942192 863080430 179261963 369452989 479816229 983643925 497657392 122143366 436558127 337249258 535901685 777502466 191528724 202640557 352496077 867814007 583079232 824068122 115647025 513485395 210777780 501641283 773106562 705176681 932150894 210881452 546501560 884009872 753228844 241475466 299265113 155940210 661143077 262945914 415644083 395811875 949722277 488085299 231929321 804942174 784880470 309892180 428968032 404811046 501398028 697536759 179454073 696784537 742358701 368467605 695459205 737400953 984816863 286553241 721196727 218561538 755831021 275850589 870101536 602495203 427626903 358219526 820185691 736122234 383691028 524557832 109489187 286204665 688485343 122542152 916007628 173139019 524718303 574770025 922260457 962737854 143976081 931436660 345466732 717855759 522831575 535967546 441511468 280126999 652941981 232348910 416833804 761580155 829135221 573875637 950330189 360607133 400722603 946363239 382107219 101788020 762770840 925271439 773014381 164479824 512267561 644404114 842021245 270421848 919949301 324845387 603547238 414659769 914107829 723608777 416579000 974751639 630357635 814082120 608731953 385458707 903509999 293377876 720850776 838623148 924366084 680688829 787573466 633355629 723923087 327537773 560318434 654922698 559775678 930688689 448646456 752827508 363855999 463881523 201276112 513722017 620810531 753197740 247779721 809699053 386736644 456170408 312061107 935161734 581854830 624393152 302950537 946076363 273833401 806127229 582863874 284401554 498616423 647400124 208139400 942828417 680280061 428706513 931625074 455665944 959605550 240424561 853377608 915750286 245951184 216080312 666439284 251804137 815987611 218860346 261792056 747518326 395454414 595254218 470940791 413997201 176910650 707659333 282378019 836387772 222390249 452196399 582409472 593206298 447799962 287752306 586866322 383113863 775523150 334016952 863752753 599488055 742767717 621072621 124952417 109291028 492314155 846570147 397038126 869474231 726642454 140073458 200060127 380398259 903416800 701258225 434933728 211869883 913836675 744378835 155407544 390512661 409672541 813959125 318703703 834469118 660529628 540015530 270376977 114453754 419951085 814916906 280564409 635650415 814712817 214364700 616999550 286975530 742940676 329956235 700311037 993841626 282186066 289114921 308952403 983092700 790855675 546082749 878067912 225528379 924149618 242553554 730940970 329266649 610729897 229473725 902178496 594742476 119542949 967439184 943501223 992749987 718738828 617684259 855015984 209502005 940804954 859622147 783623670 911056914 412830599 899261963 155357581 217931720 283661149 631296634 511090055 848393750 103485860 870675626 599330102 885610894 678909864 754044748 818468482 654069499 830897485 101226669 665574590 631243968 736929425 813534337 667655696 377712406 463068448 817880999 885542353 813890648 591105342 495402899 136509035 458530309 713282191 918380590 266955650 385991319 290782871 902418849 663969695 169707336 422541760 508127588 436842680 536436171 399518874 213113250 198176396 919672363 621793020 848288328 231417090 122044915 270626610 118449459 225556290 196491399 266179516 471927769 495248273 167514190 737735762 150132466 401216526 439266705 109869838 879637613 263821811 497696786 563611247 962039026 283482104 179257642 792327026 183757340 400744329 127636234 647856524 143812759 538125756 687355467 868050995 310472733 294813593 499411881 342647995 337023050 925848764 819628627 832090958 730847339 351731960 438413699 774149250 301111649 180145666 227640064 767699356 783276030 776766298 191181200 429389014 193057816 221840076 789198448 987873505 605732498 324973539 940067426 649422113 310596323 550365068 644950593 119520872 872153810 589405213 471278907 798218457 714448800 476914389 971984838 137295225 834379018 137559680 456450535 549623878 729092833 510311550 931060318 319900012 630712222 375735124 208083901 416903109 724342777 473343995 338358455 970032136 125996059 471155592 253005839 821832027 800474024 777086922 119328197 121815798 918376234 630629271 257765006 225903486 233044570 522145722 761018550 117332791 572116846 130930728 808083191 286632088 288178848 311280803 969272540 849311350 420321901 927484837 344003705 200060361 349718953 193397074 793440361 127142629 994832655 116341254 757714743 903065507 505816566 357631872 325513072 942751850 817961108 271954307 997099391 622979910 368889784 686587850 133833965 238869800 138088576 711453038 889178099 568837532 558021585 357597741 465775301 837570609 126324101 689885790 447674351 186882533 724603325 828231922 199973160 357288757 791526712 679025460 318781584 370623125 768529482 967349830 257039791 597038309 607158044 674885702 425155135 884919977 333212305 579640220 579470375 125708502 906919930 969103050 130808446 226267298 514546579 141092216 459217450 502608240 103529479 861909161 135739857 709202117 545459951 721582165 579681072 575043840 204164306 546044598 275242308 532919584 204697781 860166631 187019468 857169901 146761570 705534417 203506101 831226635 655713891 550660247 785223851 523554005 485381714 102214099 806698548 759363447 656162351 785191475 857309312 376828509 130546450 491126990 354323330 255095016 356150437 498665747 838419658 643748357 511067301 156709507 259378505 262060412 195678555 241571321 744599634 648369705 225167818 551917845 506271499 717426146 327536462 887358663 817980085 296554688 342433985 456704600 940793174 992756423 250424520 498642479 950874502 272146241 912151804 845731393 167912538 216690660 906432516 974757916 213522430 318310119 405540183 789790503 495087208 444901034 784827565 254198916 743472734 362513249 196086325 685227536 144342660 118640838 705167289 491184555 552994853 557566231 323920180 552361319 357341289 114065307 371136288 413507407 485236924 880953284 373372310 847647037 873534001 956730582 520327036 914038402 658474790 618569266 752490056 270535710 813125230 386353450 585269357 824451582 284325273 796885900 709514780 719392562 919653666 615592447 797120244 711021741 974631462 758134790 938043134 592597540 294700645 716403273 494236569 766804043 540146699 493205844 505570329 167435702 185431579 243181758 374397983 242371395 522834567 252693848 460468702 633595626 222835523 379473075 752186549 877174579 213991457 184407643 319603978 646357973 613353428 105716103 839600958 294513330 555917182 837312467 819283240 581397160 137568869 571680550 718599791 100894620 868593221 548444278 760176012 443036868 286847210 812718709 306830027 544557660 550102730 457970883 234839264 980440594 613773287 283152982 152606466 117157004 310426526 444357249 458648754 993369978 787748384 933354983 233210389 877943614 829810686 822154800 624765599 802527199 398590961 698722317 576672750 565606460 579108771 532023356 752133553 797557622 628595068 711894069 909604107 298447902 585883950 298312157 165265832 176788088 980137097 541434759 917587024 158878432 538030249 600253443 582559573 960532583 200463848 878365773 709647632 996098406 876545703 531546628 579150420 322110001 779306733 319095866 829285145 963288445 670651935 176356074 740813463 326614438 130165803 660271288 341881460 283363369 963790538 301492479 413006015 554211511 241045948 278678563 650685639 984048669 139177486 830130180 804941204 900978129 147097265 795275678 211429662 266764819 304138141 123617977 561284146 767010020 769610945 799616050 825133621 138111714 259102523 188066406 219940086 262243193 924321326 772567437 126485678 596079237 772892444 531841334 819357091 976545491 280794749 817671425 715822969 939157287 728278836 981385957 182853409 915407746 402444464 484788905 178420216 994733172 151276777 487126818 940603834 278281493 233038568 481905838 328543067 705579140 440861343 891218293 888787852 811016918 460576718 876840923 115515184 338665478 717255093 358503114 375095938 799232162 540137666 697682645 202413672 886778117 315131461 925266072 220665931 986895449 136464840 595337029 699210015 310176664 315502429 469946684 204498838 223958459 996231564 719420167 337863271 643826857 970874768 164461748 384748148 750529749 187024834 340142482 762864306 516994440 721372863 918889085 968837452 652825442 459575471 928626792 479803049 109354048 444723002 201181948 801939291 796008317 122556847 919821079 240284989 982369300 705322665 971175658 173381799 196316915 702780703 984497977 858973486 114548221 573152900 544349587 912263054 736869544 961505953 993636967 862294517 401139977 321904023 621340847 193327452 975172916 722213167 699403081 351982983 319414127 193418021 694078758 114989991 651304121 724053156 803773995 872215537 178168962 648986383 826607805 929153394 987157679 464708870 786080946 503099354 477978996 614864500 360205337 909141271 854604888 519536795 987347518 390862332 757911435 335874402 335746700 361227170 549176838 880047844 839468756 371318022 610653584 547543677 984935138 875853601 320752184 720725618 279609883 615502258 457183897 854385739 404350339 393143001 434569908 534963821 402655311 852629747 258389440 727746296 758673862 333229335 747519898 580796879 467982122 134270104 628728590 536488471 435740539 862935798 168725083 645950837 220521754 287026056 344467285 730974979 106852284 463942803 544378360 477050954 798093276 599339157 394201101 563573998 177098293 110005313 640476484 444108133 508932953 768173375 523014819 905881548 537109382 999634371 362365962 926773555 146120891 637981654 851740813 215197237 713378693 607610575 924501047 307235140 510009515 490402696 311544075 494135284 116033912 729086628 981609756 721797324 956031146 541108938 873150242 248245827 761942997 258135441 284923085 609664938 535159315 485397606 626590931 332446846 392940236 673253726 292039643 701013086 470112975 586452960 803171005 418727562 381803390 655376907 656717818 170719163 170057125 551557651 495891709 823828400 464974323 971002984 272766890 315186942 361391746 581185225 487876690 415507448 448832261 197987162 876098017 415070398 792591929 324085932 681421750 301972614 685673764 954844917 370487231 104241500 132045608 962411848 380752474 513428243 326251621 305643678 727409352 142966550 778779031 854601124 879070546 588801430 595148587 454125107 481303651 412558798 543620301 318236549 139558759 268854201 248964383 658050722 390610553 974029833 654940025 998074055 154242903 291658048 792119501 502925794 276347208 855833898 107515130 801274542 132629776 711884511 144047907 878537395 187060217 615262200 498661527 144894499 245305874 961543658 616757848 809483130 150715639 549284425 888112704 500214083 173535418 320076474 521624311 977689478 655707867 459492504 967120913 687875835 562179085 238642013 509858289 295883496 889073041 146295946 679448676 699649368 997779405 307417263 664591188 944681719 665924523 709349359 928420121 394782392 162459426 251505784 530889525 838738872 317310101 499946294 441847898 949939618 199232053 755718869 279184623 668403045 472454398 902510475 710498390 111937104 761919796 876061594 681066665 714339190 741422818 732482258 506591547 197671369 526424601 341784958 403619989 831490387 573606442 784537330 393513708 442357305 396857715 982707494 335628720 993558894 561632677 225924281 614212002 882082562 622681705 501690897 491909504 238013014 903430384 440518505 412365369 921670641 461977448 731656382 746761945 262546446 894609820 362913483 973595516 186303452 370755702 921031912 457686364 884246064 387247791 850066335 811198706 707590825 862066453 817617514 508306149 337009935 187210929 405857706 498455058 806715724 582751512 749015591 625430170 856133074 891981585 753522212 977056387 321557159 240479962 537837759 990031217 196876095 372518056 185814623 670020501 305594852 869766590 820043162 873868595 355016933 660824566 339264450 808108130 825239851 113560610 342925237 284445151 324134522 370778534 753107606 331427756 226411387 663882517 562254674 261095859 455192034 757328205 751437072 401288658 963830898 573352724 969451785 777833322 827433169 363263555 754650695 861379434 371010044 512433809 704251213 561720938 600965376 872247131 157590330 676066031 591622931 919209070 966677843 169479647 690411315 403788993 294267671 180634946 496082108 133518665 378092775 958263402 520718098 899442728 631233151 669596744 163897296 458346449 911962796 731769076 233023010 927797474 400864015 157248794 891369156 298492542 658905544 565740839 980952288 900082812 769610074 726098097 399105881 376453200 342035402 372756164 833156432 288383101 429543216 232167768 587502846 137370805 811107582 983134235 763169207 248792399 980197954 825482285 354684847 172212833 219042350 848549861 358461753 252997027 542962681 721472078 415379772 198583869 496130120 221410509 261256146 296645362 551246923 360868741 113046942 282764077 208599310 278918065 241448030 264630256 479585957 726604350 343293336 325577708 363145695 465285033 960267902 478250623 983757637 704078481 502511678 793629353 396954023 180483854 609760992 467302160 939054957 791423142 955812614 459876225 466717089 258309277 986564903 227487742 517091873 246921175 297042709 794662120 293658870 309825639 157746198 735866447 718708591 935773450 632200526 401151164 143464685 491203705 591601862 620642337 151347874 882720105 635824958 624697056 950175578 829955363 914684770 802669335 266467734 818477985 466578995 307022716 514856357 715544094 417515312 806131266 387402089 984459479 963085725 711792534 476028246 650995350 130326049 148263511 682937807 517960268 375539715 984819281 625404173 441038583 468515668 854666142 253228765 755870497 445143630 254952762 807669437 377206275 907043111 706378053 441806482 576763788 464628308 544651227 837601350 465718958 351662511 150235908 912656997 518270946 545280760 413436437 162478904 485978695 752765931 970523341 421879797 307866860 568727936 180947388 950604025 421669859 467985103 561598284 574273754 976828718 885908046 544883380 704460060 720935494 310833162 488989585 459763644 936204627 527982044 929605387 989997728 534195568 941614751 905438308 671201850 823808842 994193726 511941151 863598206 353025144 360194995 619090913 599362875 921840254 221343317 658682027 796943424 507765253 177956440 424034716 922866480 681781075 196175840 924440825 645610545 461889089 647517568 285000676 603938902 665511567 959794303 695943191 685259716 666178426 213347947 829861587 805071791 512355806 412163014 296641723 940374996 626002562 698251430 583591775 668188338 803641552 986346202 841456001 638190914 256621969 797194345 398042604 902165511 793624291 143286054 157528572 705176327 777208783 651088093 921758838 801571425 467145411 170561458 704669450 954909213 137811432 790099357 248177045 431530989 951133011 182572596 655094115 972270975 950103584 778242636 136597543 444406987 592821076 504444981 790886879 896019616 844117597 506887772 304214655 761640544 942464218 442757565 469232934 470777177 895436585 927295105 369224912 383484653 950137977 994887439 954462010 319105264 792617846 309955892 438015341 719607265 784010587 474518219 177084451 681774088 427826178 710425598 649724204 568174420 582553734 267443111 817238614 520990670 343596871 390700762 168000358 287642247 839592155 705302600 323129538 505420579 956590880 165257882 611642877 781557406 400732691 436463574 365430605 667739736 303749689 939233491 789886611 787735658 481086796 595342686 122359148 490026801 231417841 191741003 580512264 703917324 777123021 774948555 879144404 876765552 659068063 642433023 199492334 220912058 364333991 377058574 192606428 474597920 407274464 398595455 991067149 313804767 887303483 229823489 674395554 364892683 922493976 443568492 649777175 981019282 451988069 560045665 970377436 883642009 563243725 711175554 380039023 535314670 230728616 883825227 619680740 411750331 595127381 355425580 329550590 732403304 665468262 955579621 777428638 611938020 344504812 826376093 133289111 415176795 402378514 850398760 625957506 159298548 403669139 581193605 456184311 356429795 897825856 613550656 918686624 121107281 350854509 755348724 576667374 789524478 431059148 168732592 895183462 376258759 844134755 154281841 945774393 800080429 703507143 967298236 903678151 235511669 598800472 375351212 694118939 626569057 449706433 796476697 766673078 847813627 330869073 612711562 918390806 830697731 603540106 702869312 115198817 273988352 206528804 678197217 299958761 676356323 394984114 372402836 682605449 939522964 970410638 783447519 587162296 237821728 626978399 523429085 797257663 869670677 142710314 138003849 156218936 847653523 762219628 990293659 172556115 696673915 686050878 623464272 281794622 451517902 345664811 396237059 627473000 930678331 209521095 983676380 338432713 206639670 229994954 467660356 845562482 249495888 440051139 249445999 386596623 517585011 824744363 393922461 857187102 236915103 595233317 157667909 532369179 822058959 166691446 456162681 600137653 232503807 586423703 409722327 166271187 406281132 319174210 999845567 814249840 348392837 623441112 108264588 622392399 737631648 749401069 496153617 792466925 450965055 257452769 285774627 221034836 682485968 168534817 239783941 629456786 502240822 966823964 471958754 436688417 856452757 920627734 326572063 533471270 872913127 342768518 357938470 417507996 920820886 704160933 172771378 968645015 853089075 357545206 955992596 674750103 861538524 580589796 134581633 113480393 905919059 322668799 195965800 144654840 428153786 629687621 299748286 854290048 751011696 245161091 924258552 694134978 970841760 601361361 655569394 344432741 561597638 844797318 230210874 441536748 758805815 125256144 854500034 522257953 761990940 396459345 547997158 717436929 612141713 948025326 883026669 477806040 105802897 533808109 693669107 923499330 736766076 466948528 167965529 829626207 751958073 702923473 835863215 986913532 252156830 693719741 826484156 726905458 577702180 426461814 654804584 137838475 299629322 292318424 817461346 233032795 659070782 349503704 107904896 338152123 185893193 940897608 600258238 693149744 211189574 301752193 444088402 252796733 315864628 157960543 584981362 752901585 186578609 887111483 610057360 390342091 753777692 422933834 572999485 733119093 340652870 976448763 838679691 303984202 842385927 795908589 339919960 887688256 525738576 440503389 571096821 734756264 592732821 616601498 369080964 503738628 208326232 978543280 412649469 905501134 809782322 684031887 809564782 438789216 676084077 591521653 910496515 588236810 291380013 296939228 527962167 290359215 156750045 576046916 857286553 645577382 442296595 397202597 486805527 832317425 386853665 915227345 359677377 942485140 222550181 909473065 976306210 752536765 415854988 446112067 325464861 147335015 526115277 305717165 727541119 680007628 742996289 423559820 250533348 895959035 815295864 511743920 668514879 608212767 978257195 599128033 231416110 406784327 536018499 585482895 547723695 124795317 205359240 193215600 909492118 524086213 985487599 441679128 183858885 336624340 845942884 889233990 199727453 862820669 984379577 451093519 392220881 804595980 824096851 925186042 211135314 318915787 458688728 305795659 250911123 422442072 629037341 732161203 967394250 708194715 512196248 111067503 898758518 221886167 347698691 981453445 795119064 779556693 616385466 265979965 739394222 970139597 150161319 124590675 695634406 419170118 820351728 222785232 707620337 433591507 839813311 119624331 855823320 941004603 313843609 818431334 854167565 348350415 807833290 223517357 883532978 784385573 623951705 378479219 453680217 284455237 534258772 230405651 535607851 955684595 616709270 137559740 286563178 322281671 182616862 836119578 906546471 845398142 365370533 245529319 176677591 699522884 674217137 781432115 541178971 588972436 491510527 321358963 522943542 382016700 308145065 474290918 391412178 146119596 123757369 658418141 652158316 392117339 297375553 489576344 149263076 781776080 741895943 931176776 160082201 364328695 515562366 535851070 728288273 129961254 934753701 558029947 228287647 349930424 818797440 167008766 532985811 717030357 203053046 536019692 338734625 412950464 997449680 661714537 995587851 108669455 135315124 688718102 229099383 312671299 827193783 446543739 785372709 169103672 752520581 221856838 908441734 970410819 873434586 974067104 513252933 154127455 109854226 577246167 861588833 828530151 541667291 848987211 625222579 521512109 673671685 263545254 165129810 851315809 667624225 676100840 789622592 723370959 752275441 390149336 822264771 759487324 187787142 626988661 375538124 503572783 919218100 776153637 167642575 761496443 801968374 736192986 101020071 360522028 403591657 426677854 306746933 392352214 432063682 439332071 269024387 116625942 725655501 281961697 847998773 319253018 765041115 954671990 851864198 578406132 904357178 799948854 558330503 347744699 860263092 215599298 102156002 675438230 732663065 509158460 708718540 909197118 833633099 772737474 706109999 313661683 513792122 522685636 289023049 928959655 328843288 397841490 809528628 483615903 553721512 950534414 289842249 714157176 789040070 789507736 153542406 821116697 185536812 291929583 951919495 353299056 939201187 156825960 270704915 999512002 654611449 122679071 508718301 732081704 882359274 326353376 783104446 228166628 877551108 367198467 168224332 716603006 473944765 327704055 945004961 421699523 721363566 410103215 653110640 746119887 343678717 890745504 492154147 587780835 202315596 902600349 134300792 526003372 569101194 487430634 465883624 225852003 601990686 664904378 973890223 715028286 706597299 845953280 328395815 454907144 140397849 396803750 857028579 505007530 892037334 709890393 964903786 873168633 796656319 559132471 411292202 655087793 937407138 294977333 403767269 523648483 459269424 713291541 192378689 836508969 629553434 960925387 648235481 620434382 115317749 923316370 700149904 847002569 834689227 556786344 132864813 406837973 216893374 183940934 391833768 269669401 836195849 367787610 346592873 497589232 754085705 629985701 143646141 995976357 201069405 174570077 220466265 937155404 122064726 502641193 347746490 286832001 210944989 132350372 642483827 577421669 663745765 487808111 775308446 437278438 175599573 383416885 121236344 567276583 311746000 808876986 492591519 848927945 296642572 732612864 667416565 311695657 275428730 646424276 563504939 709708268 142633150 935171197 507093313 256711960 286707649 672911963 449178681 447537928 330175705 538997246 261697627 116457751 181284982 442769958 856638972 977653666 186926435 113665393 440434992 246759530 366791145 581856552 323519149 710605428 370859550 737041498 858793053 663141564 189988882 921914200 216837595 862583966 478387873 319270007 802770143 272950425 101849382 367597648 507116558 325247184 977648039 256093980 901385806 503100077 605221620 648159679 424634541 300932990 965850860 264603304 477984357 492423789 794173102 970886114 388610976 666193956 353302615 481446340 142710891 913410272 868065526 750873873 358977689 861888183 876406527 817599058 892940102 726535724 298976233 944237110 146203497 592830721 802060578 559298806 926532561 656628935 878589777 998915247 296252521 511323558 930344739 497170507 589897977 356929384 595783616 499446842 506345450 106949602 450880203 210050024 549771591 351899484 387555415 403904392 854810636 530561489 543552519 588619220 500867712 973996893 693658898 254414134 251836850 731779570 862780001 780412465 957904478 419604189 118437125 746735519 265475741 478219016 253934653 114466707 226489053 339239532 934427138 746737526 584993553 212597707 608722044 481470768 614975564 232711527 664275074 850758092 653500892 707259822 268591896 287773706 418593333 755057595 191781551 917397091 490129279 699907534 872748900 368669588 464844786 445194321 978007723 627395421 638267078 828611481 576280294 558893125 769124229 155444632 295521922 916770565 660517578 556028199 686499373 405716088 326786697 623240794 556168947 941296438 132493701 740053795 409549747 407453404 425597120 247576433 626468975 112482398 223815509 177273558 161372060 572063385 809417439 318684273 168089305 309214698 632043222 774580065 476819570 608443007 715322759 395466256 733827969 242445043 893212928 126372781 638450348 305012560 278350157 309143714 585046264 388124843 688166144 449258414 574429029 210180527 705758625 770932150 456905251 275142700 772924227 452113900 173232968 348237875 962785528 929634305 678108710 356804612 974197747 178959908 498067468 245647925 889997338 150066661 966170107 915107298 963344366 109639782 323826162 470957805 682431065 305741018 294292253 747899967 592926157 464946869 646173615 108486223 485425349 387882335 742867533 733561647 681460806 882212027 425121652 194659767 935836626 715142680 120364517 692356630 728317802 810371937 893271896 588271526 944448842 246596224 665837983 994859247 649935179 643988440 357446436 958722474 635452232 763015137 346644020 493926539 360772108 955654356 917643852 915093713 707733004 390849656 679222599 884202338 995931852 904891261 129188505 205630794 464539219 890118850 528613952 560913648 241554377 956940784 542401640 651321755 504836968 356697841 124287180 539670069 524125235 246860688 759680769 729830344 833159073 291284858 321337710 672273683 297358246 600394591 383628839 676775279 347788704 783300324 444471347 397419629 527344622 131335446 340732435 502808988 966081006 131256694 545743175 701751530 754538310 168504618 662195565 935903549 184371744 942846009 969976517 130854728 205074786 443512514 139578067 478512780 347100444 771307510 625502607 212355220 136461094 166210827 998707339 732599979 578505200 276068307 163163412 565011012 262682337 500396075 438239004 248506034 956898746 594487769 539031701 785732271 358466560 980847377 194609343 759410793 340270191 917204045 710287719 541344240 601371434 530577255 816930038 123757478 196102238 518313917 902576274 655881601 787013041 339481802 211899402 626457237 386133477 428400077 286638769 970627397 277302746 378671895 361507428 797065610 914952335 590091693 798237510 545598137 173996246 717574859 959504006 256822111 808833185 595196721 683313501 165748020 225846530 537170894 279788075 384088651 793278211 220727445 164555722 819391311 143158006 936046690 841903604 926245444 592282507 251689207 371266698 471449887 579364206 133720637 918099451 351975217 473317352 379192829 748583267 299806098 879237738 771707606 495420611 628269142 489943349 930683844 917629878 879384460 975763912 190356720 705800524 421943712 532252295 868243771 314407612 727509274 112678725 821243074 776968599 874279541 448217943 796264391 756909204 513867507 296234982 829931640 249284901 741681840 698006144 739908327 636021504 314919581 972824320 849819520 651427403 631092634 970873942 224964741 782504848 943905964 889100535 667764594 170505548 177366069 623278288 447112271 210516522 679685248 426703009 439813338 461675671 795311129 111039111 548090480 802520625 691569827 961181848 822594642 794704382 340649078 824576561 449195566 764658152 465120749 534002908 821433639 568981869 793284833 948770221 996454573 317025567 839165130 603778642 721968213 352744540 451917240 684943766 473221073 372373004 394720202 918907012 168139739 194532100 739148831 902776182 945447983 921971702 385285163 155964900 612685019 874560642 897877584 696794440 407114513 642859115 872570064 193867769 487221229 962886757 946632966 870005351 453634125 964859508 784386805 720979965 940415277 800315634 797801505 402698799 225361922 165224750 237592442 756078557 831707694 714726277 925109921 750135631 202377039 667321247 749866900 136307935 827037002 775991483 305634254 170291571 829089980 859455573 405600846 217582917 894271672 605152986 112243572 455316798 305436687 177392353 314225579 752311618 250499645 456720511 836657581 283429546 477588998 609971634 855021636 579813253 204636081 942737254 705220411 852837112 512536979 700694896 178092165 900859367 239003021 101135253 659792941 490386785 937699539 792997578 943516147 994544114 246554071 684200811 688319552 674840087 493864121 195784397 674325403 938928984 354632736 455534265 730076961 293407239 820838974 840751967 485295452 527738638 546545137 961330927 704360204 211015308 412984032 257775349 704048842 446831415 952457078 790356724 696743372 430623474 949454182 856560549 667472405 413667194 387990039 444154584 254335424 281032417 834642042 846698043 664803146 394494635 200059283 151359189 720105825 815938266 263846392 998536862 282565616 146493939 976474317 873545894 116037121 771048283 913221860 667730013 742496925 788661376 725208599 903263347 237808005 534159166 950285544 584966672 852341221 219047346 920325697 386306444 525065319 780951908 211054119 320147211 726568524 121546697 751535382 661866711 743954683 969586582 150179912 108021599 263904358 208370400 254739788 504269368 461936655 658817766 135717075 819078926 414387224 134507875 700677874 567820917 306469013 421281067 748300169 324858339 768484159 552673496 993515356 123159804 207086177 626541862 488607992 939612414 392118558 512195247 997952602 379446057 969440144 654932659 752922419 890347244 995195527 201782523 300245327 110927810 895006890 551050446 887589141 860217801 202800748 341765120 506495771 898699133 852582242 110692233 461987171 824674068 239865460 729492187 451511591 487203934 396997049 593145275 609695294 192218096 194742849 262212488 894792345 724414682 423268164 497654656 536275411 859673962 690142145 345530715 152935197 234663689 997790036 131463613 560415317 659804350 487052920 300171251 607889394 155626943 355232300 577326769 408650351 546055332 579575904 759165406 624649760 335356605 788698274 235286370 492333715 516323520 260028605 568597797 818422019 108618033 655192168 265395894 874676423 517673157 717114088 348726874 273351897 364529183 345649941 262932176 625981036 601145551 507972146 104322075 796565782 364016307 424160659 865948259 836807176 640625716 117300375 356812317 514874025 132225722 242517592 939572678 292629925 645972506 302245978 895197545 744980919 897979168 681743819 167829843 693070019 962543891 588816452 492106268 624394155 524717624 673228489 259081825 590341589 468573238 916276437 527916564 341442541 134635262 726958565 667194450 870429576 425719888 345732873 722504570 854095473 965720453 903380474 713050498 614035945 379179206 313951727 175751744 884894965 685715040 948489783 294860984 438353156 815280662 303639956 292160102 808481316 216248679 364039215 346041238 478681346 262688440 455327784 293516068 175530699 547800158 798282355 858240582 683605449 782119321 865043561 494647382 586663614 692329383 645498915 159790627 287664713 513415499 272789385 976759357 162965133 723586796 607888398 670569698 341356399 283744844 261318584 996819294 964858354 233669816 811164758 336313435 900266596 717382115 783519507 375883002 168797018 281113300 117822355 990910337 281210979 465835944 612671121 746573824 188565905 686857539 851759991 673827648 241911530 674361325 624957139 930371788 340062275 815973136 320228710 872008524 943344310 311341502 355854258 175576304 167978490 733905880 677380460 656402082 197250074 716282046 296189242 874871406 564647700 592552114 484638639 959082107 885538915 811229978 171358287 784017725 660790390 485803186 568928975 531669488 663841346 939425302 250499140 339143880 250953018 888727251 684291412 135851817 333936182 112473961 817817923 687250860 792234274 180025457 251922177 570006368 754191946 710122977 832558758 870617243 922943851 307119387 246659564 655401132 417796607 748652021 427937895 888304387 689612610 747132835 571490864 918985784 481630137 686975299 669980709 978282271 841918434 507310662 334358231 653231026 600491784 446833054 571695855 156116720 372356715 182227260 707954855 547810333 489126862 977761652 187831433 274019939 396020624 664631425 592870174 429346585 876248272 854057818 702801298 222309511 456957736 458357019 155635271 927701254 146055602 862121571 340901113 626385649 158979093 800283718 111206595 488727956 854764117 500495482 318147646 818810327 276310428 196284679 725214440 543382514 830511000 285809473 656663089 224572033 119374747 353286682 680854514 435457680 494351344 438355453 630716608 831010567 508474709 285513652 854250761 764930911 841233431 894226553 320454801 851769261 693578295 219325125 320337261 655805447 576903048 766071488 635821168 508145314 847840122 995454654 211798603 727386915 374163225 582221475 210756736 256665070 510192179 780716101 547213508 149936531 499970464 428042097 641449929 710692225 766652877 676560495 173549095 977515173 896376304 516091569 742639069 357200229 957709850 778546802 145231490 302151066 914190014 241655858 824928272 932218253 303426216 108933984 759005760 108749597 666070570 425283837 929513471 858360143 580067831 977704897 779298588 909911911 906464610 845965685 794463494 589616796 965845884 341757322 666595347 140474833 762404273 394286562 449993319 637128873 492748327 806027383 828464031 493593811 720735166 704740337 684245611 277627766 157732360 611942815 532480641 776656875 410482205 721017339 415610702 971720192 219637661 250215124 303121046 624283166 477283177 406755010 785526163 975197485 906575192 604353625 834631118 436978033 678337327 765812607 546646248 283642255 206593359 996745301 110096409 545944743 307841224 942186596 646104825 492787259 137660026 823847216 524775127 166290048 954616275 121519729 563259694 265575603 962451207 182381230 698900149 717190961 194644095 319291631 448837628 255248542 963012736 638331417 901430381 759515674 275070160 369157875 445978957 340663645 226691208 990002070 267003710 124460704 147169607 550127923 727126752 906691050 498833673 670800930 780143389 337676583 609573805 886429654 909084813 232026358 478089698 659439433 228131092 259440917 926784934 997964326 474530051 649365507 461245442 481863127 633550977 995726820 833977513 682162713 596130914 812561090 728216713 468098632 353546066 256280351 305279921 780941681 675555221 654866449 840481065 541129114 636687897 957249199 794334980 224285215 799555338 814916827 717487153 408329922 255745213 931378963 777236408 965213055 525064670 954366673 649627557 705322721 718996928 565251965 190339543 553424997 255204290 386149773 843003033 406693743 491294579 766319390 863096781 247834291 361903532 390729505 489344500 808910968 415099886 256593646 588870147 748927760 835307481 810267561 883539974 794260133 248783560 480204742 606429712 225930439 879897835 418181844 734405809 279753985 888295660 869880584 464405937 456089070 895813360 619618650 106651880 497441304 246134330 553275093 109262409 797426143 229841060 717395517 292052615 878472335 520094794 865958906 239354325 318959071 448237349 506018064 448133144 612459763 324645868 373230448 894865596 777316629 644943540 244583244 158934602 478630709 587202393 616032506 641935930 262267282 102797359 647433821 131408571 445267141 165285532 469712843 888796137 321647470 807696805 852914672 206818835 267257772 846628542 101998648 881808196 481702066 543921599 463053981 939427345 809181355 144282523 626477874 214322546 620986902 545610327 760839003 152121113 335056998 628898834 756042606 416530392 177047488 752157452 541723942 959884363 397618436 315247934 449600300 540538819 238487317 748931173 751568248 806227993 651148876 793676581 562599167 472925039 136341627 652721138 217343223 119726545 727335203 760792941 712193973 343353802 166591282 711127708 287242537 153383749 388472432 322129416 276139448 524051749 357105904 122764637 926145954 691434559 522712744 689351957 108596834 665216941 552359778 223858094 588132027 232979590 169745373 965068058 791735481 265241376 154201652 109808419 107083264 931300898 689883302 663869839 304546896 149009850 283358079 341593794 713252063 598703892 225651179 257803231 737281092 650830167 282698083 380678838 548062137 301754960 568678894 818638193 150631134 650543425 850677315 536433163 311746429 807635064 879093844 735215977 338998242 383330340 962465621 160527869 520203702 717270511 998179020 565527926 384763858 567034413 429425426 751214330 743336336 346310594 673050945 268251740 350413285 925820955 604988125 802878446 770373652 835510914 724707033 601817571 542955038 202750719 418950052 676916640 797605984 952962237 782958082 352606384 479504873 188081174 632256531 920641758 652912361 222860192 666137021 537237282 197718321 102138391 412624517 667924252 953809050 663558041 923916511 172266983 284354504 844357775 514110002 681405462 125844946 232967306 996867051 880096168 631306660 654692126 337708498 590513207 596523000 499027559 289754799 996665669 679661728 168816460 119341287 196816175 521143171 342649339 846114175 465006897 933007388 246278828 372515919 844429623 301067932 515003608 489918119 909223179 539430134 724632180 824103426 266023332 182948029 210174524 748723511 538141678 771149743 116779490 352236403 121548942 879306131 190441585 266332506 146747023 226691763 816910793 388265324 678687176 594664963 405525984 525472830 283386707 945484292 296309158 856719824 988474339 974499503 923672885 208473586 466262290 122506224 703905605 861178060 195481847 791324023 427062676 593831602 904798008 490508844 120286053 401313744 235614139 615794061 746883065 128656274 221521933 907638093 761999834 192592424 945351698 908179943 169608753 924920494 298830352 235609560 734274700 292061214 945963995 745051898 158411496 206031486 199972529 212836446 840732171 521861822 260001039 363451787 985901647 795641503 446364003 108011923 451284662 373331361 241985430 839337476 780060438 297066522 549169196 178803921 349528629 884290619 644990601 779131801 911507385 809445001 410877275 632753698 954778921 995026016 557975532 218167061 818734284 177475210 421034054 906450705 528646489 628691170 499962149 352306582 288881014 144868777 353312991 905441544 859447890 625794251 441381040 642133435 153033371 570762578 886984976 726903463 291332548 626922775 150306268 494743713 430107546 645943634 989395379 860799617 106120328 295987866 617138170 677293423 695112220 309870713 123585210 424641449 664637403 996944916 331538543 334231250 278034336 866387673 804101488 401586153 472958478 201900763 608470639 475762025 624338648 268689579 946205386 287725892 129190551 425612225 436144793 801209590 950203250 894376853 963566024 559428797 968057882 196582662 459145777 882938201 959957368 763449957 155496336 865762679 426781103 370131615 102370492 385769149 340912583 665202700 923271873 668982588 403479308 156558506 254756155 218225838 835606590 683819140 532573103 616625449 452455355 827790252 753485025 194185391 598740440 886730812 104985117 688505495 660750773 924957306 760602034 152611594 529910645 397636860 813709599 402825107 586152517 734018617 908333231 215005693 988491904 574052496 565741338 706564803 162965203 216401185 948211953 117879650 667653731 714419721 447897764 276163410 201142133 885735652 736630266 173854482 629405966 645712316 299172300 587346377 368267118 970635730 601861074 598284023 552520309 593916424 410206323 586071149 929780238 871147219 360003386 455078800 413928660 367184305 105549705 360712850 871387415 558608771 147171944 305836330 804138255 575697946 274015601 107324429 896001791 153015745 593021676 250167674 465920403 872574192 772486518 938017327 964999544 897128298 226467712 612089265 718130572 403570904 549871024 971592065 919476307 374035990 759891604 996246667 438691553 838602982 971301190 429300415 971167739 593710203 453718831 590672500 301548226 248822127 113131606 103262938 923757013 394797497 485992660 464957812 701391425 173597478 903170638 105198489 923626858 202787095 811408482 973612874 330735726 249215550 654295703 107979092 847365078 834198657 345324819 703081863 307371345 285200324 970590065 992781786 253930773 161403037 483526412 316954550 962196226 881771927 753926529 131295466 717153233 738068927 399069331 423169084 527334217 298315939 314141131 313852965 176830661 286120097 580431749 236321549 960479837 884977874 503112866 650668192 100471943 794129192 179197622 644260911 875277207 902103063 198278036 409376525 617577388 631308287 113866714 140539697 143743009 759318439 603413009 595755904 208419038 386256708 450822503 802151673 463193676 450828066 517781753 156894748 883371331 638843564 775778660 616622081 695205746 317715331 427631005 253174993 445345387 267341682 344384176 854227035 776880342 658768626 586155509 445707550 783697802 292554803 320501535 797993138 635645462 247588843 240222640 290632958 903935020 387300222 940616717 812361085 348611333 835055155 276536117 193437153 251821149 746774573 676608020 753602651 285921215 732414527 492878178 846559983 982230889 351196811 211703711 970013300 327405395 316841650 465852520 400325323 465536184 180423892 350126877 426080423 274915524 745118213 543707594 518610946 522147170 686951431 448713503 149668990 695356578 835031330 667105977 646744732 519083390 124447132 541634047 263589041 322031572 914511959 634952476 603598547 445140501 345739171 673014737 617342670 597409852 958200855 812641578 367673534 939660471 715634044 401078972 347008969 593474962 270053515 191895307 367767723 338388877 172887951 141309847 310740741 333473480 311691263 544497120 732705386 337272472 593119360 642299990 407196849 816341284 957817413 682700529 841032017 103698822 783201262 537475421 735008050 110545293 264033775 288666645 640279900 482904987 317788775 331733914 350790112 363007478 836718366 612622312 512762828 442575755 393887029 966811304 921662563 414087487 441695974 602764333 611285350 532451606 537421791 805765274 147019037 799214885 732677469 712444295 819038734 983792300 870147612 555021274 709819525 481328443 867320951 870023842 488645693 388231571 527562388 187433275 887037859 911291501 587484666 637674436 743065069 751076872 356266552 792968067 773100508 518222940 538657859 586352524 260744573 614021472 446611072 970587636 364700461 466071395 516307924 703785457 364441655 932185386 963098882 440067272 625421715 177978238 933812017 675241699 851370277 141207639 617492789 302648470 108925993 414724364 702986929 962882985 467693468 378781471 705829215 277635148 495846049 368572119 559392549 272873878 767075177 974922091 550261709 665764963 603455238 254446279 236896824 742004282 327916899 998011240 333461849 102772758 623230288 899345478 104095074 656783493 473199574 389747202 291658721 687195812 142577810 452261735 454950476 763106347 157717250 548969349 849915966 499673178 264953052 462750074 492570012 180995666 786948865 689376691 348251781 655526279 379005494 776737126 199729897 809165026 594381412 126481075 650187070 228552258 716647088 905974252 155168184 560450000 368839364 277949575 560794736 645876688 153055411 361887111 950908488 618577102 565368686 503405680 745109111 380861393 816370761 667587860 169649715 458699001 268177358 520880812 341072583 625783980 220896186 503500880 483621526 859727239 163086870 997735502 434284036 161291486 484670078 518741814 311863585 850630882 787691820 861583668 434280695 760386140 544771417 933709851 974210269 176425196 690603547 835473582 892220865 231170330 107266292 605890429 431821495 222089130 332064401 174579727 305180778 118033676 803592103 348527464 446460456 177148444 556904281 996493396 205324673 537868556 943845952 894111323 997627544 582527373 623788908 683390923 319594550 733390347 739921365 530756817 237700646 930483490 111382442 469623791 901111100 350893382 679576023 855790007 712224378 882435963 857434686 713743576 836405314 643347651 257945839 926147735 660799371 433294245 286394533 658690471 201932089 845003883 967393016 116536449 861392094 886693112 864704572 554066877 433329621 104561101 708265945 626261719 810110020 309975318 668505375 736392919 164719330 510422219 944765390 837853386 119188127 383083002 167569668 791664552 333885090 252329396 557726659 877771336 939980323 258515117 870460477 409729340 904223591 321306950 651394861 305911217 738070906 526884931 530481818 777963245 704953851 863631319 897990834 453549942 967078718 100030607 130772632 533202193 458385203 316700490 848106507 451665115 946791585 218700651 115062219 912323346 871393940 338215925 734596643 761014925 884892798 122434532 199214909 180472934 729862128 738464036 193212682 425100175 152545681 320281540 127228214 860435581 128438148 227270905 980936450 209201996 446163917 354711256 759239622 711441978 153039075 448807932 377875282 399743145 562688036 322971123 697845631 486247322 987037239 723931283 588223709 147146838 403963370 288855566 660391597 658691336 349188408 782328413 513487639 976120258 709255195 234869755 637617246 494386765 831989249 681612287 146604811 491670371 386274060 294741385 684067194 893456041 478467818 343065006 452137552 888865621 969439531 997180925 314955072 395483432 770123902 343057177 288537318 768329632 947470660 480724661 465082942 781416182 285479323 673366172 467127108 446075890 740749842 245341035 351176998 143177348 925748405 906421508 426155394 784339576 842763500 880198992 590010381 127052131 455910003 193315990 739536140 363702544 591616013 706768634 286386754 182030330 886917681 932744919 233890386 426754182 535322221 333835679 769844531 622819014 159173248 891838243 445525614 773826216 677876077 977772936 475371244 439612145 623475359 686601782 582105510 963121025 104358395 391945518 657690358 439716064 436884388 106940424 519765751 528999641 113069164 911119941 995340651 881789308 138415972 811931540 372243268 124783245 973516854 521459935 150903154 952816620 217221658 514170068 429392142 490959543 317358733 103409637 141450818 648270848 603066969 194102072 108642518 987999102 301694128 913656690 229678579 149307819 628374716 440437228 518255604 787139662 514053853 352328191 528282551 582351267 955455977 808754461 351637939 610140253 761341762 606570346 375063915 461425528 159838615 670330727 294523872 895771472 154755646 723776620 123321927 290483888 234376946 993661697 633390478 692451427 459065894 394224307 762183557 447368805 179429753 586834954 820147390 701413640 983643198 781159289 666688150 394177466 891417689 970964706 577436659 678134805 361814258 469503325 100705811 875481667 115972486 483234470 488594486 517501532 612881369 332264078 350708423 273712284 225085259 953712602 130542290 245148082 780557084 467016908 537731425 983828698 443478410 873292426 969776372 102560219 447610332 144609674 302767276 932823801 722390195 157663725 672035852 932775312 264588115 582691453 644005537 410912915 798771786 926568733 461742036 232196990 496893481 610033260 237736132 667299482 342659432 747916989 369822089 402142059 183138949 364986324 240813708 516186805 685886334 127929267 517123784 117911020 280816036 156062538 407147508 555995658 842529699 805525297 149203744 948283938 861078579 705374599 484993205 756131158 962029127 925037064 635292692 801337060 490519205 308179603 754254067 865178804 204792090 413741649 912241067 509279044 413444125 979086943 995803483 493492669 578844972 880181056 366145132 505471191 288548929 290633028 598855131 411269467 314248121 689510365 486991011 322798843 329500406 271152524 804306128 408757822 975051659 686574710 762095969 333439973 900250572 744841628 421046532 208166846 842072829 349689110 801699212 686961805 944811606 753977670 289100084 289603588 803069727 702815713 147211850 610605998 714329295 956050696 110343728 729333077 399625817 160472087 533789193 310518599 990588278 675285615 238468562 951705032 929881006 618138557 418555277 553709166 112511918 322942442 792045469 944670092 553923021 561528364 183150169 617012961 768447833 152676452 469438627 839869984 620279991 876987628 979811498 714016950 836696796 400447803 305047711 880669657 248583654 425974073 867345774 974578710 150749147 386307962 267044638 345709830 298311057 620692904 194810015 114487547 421931213 103337645 772749887 643738603 879054921 370317667 743149654 279013638 694401319 629376893 615777974 419759358 110475672 245145198 345338813 783046280 187107146 478935295 124657752 642808805 494241042 459179079 258936913 111785630 406629840 808890784 234169041 491043441 651927839 575529388 351088259 866006744 630670574 383021396 247859511 237919992 359094202 180766952 137636836 627505085 205493919 459976877 191490161 114492437 745242943 957855479 319527604 573532963 705255606 555632163 938073134 620157473 181421737 168875596 617256963 774570806 925499217 724925522 834973703 359204096 803203454 768722776 773009292 334366922 984961145 291060176 839928449 789771561 419553364 812145978 704564698 840294110 935786936 597895702 925068300 649995060 859533497 166623983 929040610 868674097 214334293 864759818 300643950 527973213 235224314 562246437 258826467 749981417 779285790 175791866 129331265 594161733 763142600 131707614 355854360 704629652 699569729 742837878 564163232 844474904 194295679 884399892 367720426 352638504 450124825 761487028 858834394 245058514 942346617 921495322 561392866 506493355 419371866 734803139 624080021 806713506 336823201 900900272 242919325 316037657 117549494 845227054 379057746 299482677 284754194 782833007 897475843 531371656 560207769 394525332 980142417 514101202 767349988 522790774 675245554 775760498 266792618 749244932 502904316 663247988 976033991 584452725 700961845 841587723 927857275 595348114 465163113 431998274 289007289 189629478 955965855 175877989 113962406 801359644 807776108 960530898 463237746 390348282 479813495 969072905 922861867 467057089 702323821 900057010 716779246 146291391 225588034 746102875 188212439 698123677 753726800 238696795 233915842 144394997 359490546 984939558 402713005 202345962 382835915 444506232 900422369 599490910 507321350 517148284 141558706 958622267 560627441 729215007 566734549 327154541 282760176 645440558 768054377 628142175 107295469 795900990 662254269 408658255 528907733 508164575 722398363 261137123 539086067 117976853 539744014 344907939 864802409 188171840 948416102 632607157 562592118 656007755 194547384 391066476 984199129 388786427 113456453 382178752 547833852 591932789 774497525 635791184 308317441 509272865 464218736 789874767 128735818 352052221 491169121 612437814 590765986 681609452 101309326 424967930 926547970 214509765 937023210 107028523 737047672 869087839 994616559 587732158 904964194 249791205 923030061 901866051 970701270 985647061 615845031 994028187 752458537 364832508 204887898 328831221 849893133 291340009 598276411 965132518 834019552 463536239 387187096 863935083 578536365 787539520 346495302 433310240 141774545 476426561 189561465 262398423 718128846 156668263 330307236 839381417 915410753 577832952 934706259 681654328 362839392 623285341 350985109 329759981 976346354 126833246 785742150 117114324 977675198 964314271 838186498 823024198 140932656 950140870 142361045 865187639 186542790 853964026 121476610 628539360 192794522 428635178 600392251 621771466 468804145 209676863 154491478 475047168 953268885 630201711 425411744 191022212 746854838 809861236 436169691 171024033 666435344 596279906 618800205 398497325 943607130 695065356 428742608 887451052 945807868 899594128 477991622 235983479 201644573 347454804 560259768 239376590 303488057 785947146 553833795 257768010 367567306 181860473 444855766 119684414 665034538 206616131 710033407 552260687 640605541 723578311 870685059 784433151 795953697 888777692 802023491 467059499 622570481 148405043 555602363 923576420 716179268 344266732 540823761 291839961 983921549 509260490 894902662 186881050 389386888 396724454 192902330 852525331 336844205 261411679 767349934 467587152 155069710 989778782 426677249 875850274 153656743 415233167 868897716 492814979 679185950 826421048 860274067 870132286 491747861 941760191 698444926 431803270 545705291 178360733 325107479 995491679 484963885 289716395 147177419 731027119 356656343 993236053 718355231 837713153 802237747 439300219 184018424 130662800 123089810 532758091 740440383 205099628 360066674 826741626 125313973 470676784 471598233 169262035 311447160 852329265 178839014 246916530 290416686 937275688 678222131 603213219 205924679 178683878 607600657 280429078 626665564 157391145 101955971 305834702 905262865 951146385 996692289 184036660 530383409 483172987 749619580 841661523 384387368 571728186 589122400 660737392 561185626 127523648 706314698 584205548 743270401 512226482 989472713 188506160 606068852 951282466 683146982 997566549 962075672 429338191 446698178 877402567 513181188 151547455 102836031 474531699 553204542 298134054 337214342 304145375 363609767 831718201 453683340 482045280 266875021 890482449 590338292 325464344 228728145 799393610 360915156 813707493 625179623 999097191 360804934 886461899 894536529 256174775 954018507 660217028 204023869 391214362 118243426 199227878 232734425 226465634 732768309 495370832 168337634 670485384 458030691 955502151 277871682 179283688 412664161 872755967 646555159 152746726 645525263 696587977 667442366 464372958 721829569 380724695 237446040 151362702 801750704 192488251 231798456 817922575 549774175 384492134 565660841 795267296 512585473 161100380 221725153 911278418 899214670 674642461 427965426 481492632 998200231 153031181 114910979 986782711 197585072 612543185 689399748 516054666 892701837 564465364 607130129 383355398 991846248 603156354 545822241 120070067 987292826 689499580 268128494 898474011 898672849 644713666 489334311 118221390 935485695 338752579 702933889 239143537 746214771 624858326 331584249 123297481 867346024 321058870 361551081 918828334 645296171 730086720 361079967 175290961 690491329 278857633 534730274 491873700 757161371 496039425 564795248 639163193 672724452 830746096 360673411 721116093 115611130 680390983 892377613 131403390 976484755 845126507 735343606 483306848 405274554 213905486 961521692 448792270 807277876 153104343 433190435 730889118 716541701 843559905 822773130 878890946 586601059 123364321 457377381 622728884 182166741 305394681 787664377 928380792 900777759 303673668 949199262 169637326 395531638 873344975 524596456 213573452 165122999 371520652 230087523 730170815 739839642 149054350 992995835 563112280 210429158 625380270 172042710 775525481 820197745 583913867 546427097 508583205 721001299 207807907 277723800 917126970 170640865 536411357 502875897 626297697 614663947 252749130 520766790 256720246 566417209 782300449 656930069 815959192 526864341 463813455 428942648 837112494 599215682 110565597 475610523 786886031 617157235 705807397 111225622 252692399 689092462 705970547 106260724 927409434 175376718 939913655 512529733 870193520 118274196 384538703 388046202 481677491 996600737 123117194 607609495 890629602 456333073 544824241 793571530 312039217 421840845 810905463 700872963 529235666 672004107 800818651 486053960 779547836 308191018 908225932 437422760 641211378 322096424 733838621 619640710 953608612 399190689 820448658 240022573 785924870 547970430 673009809 725193407 917813133 114224593 602076696 965005798 225752249 776267909 357284034 824197386 516734414 813596546 856620683 360479866 948980132 188869659 362471065 893392785 647156243 398478081 258770726 688998826 236630056 920030580 847946047 451778807 328418301 712639786 880775799 954863651 690128729 296398153 362599762 581142287 313464778 233882614 213513486 241239042 707153657 821301908 889506924 280656133 644355538 533444466 737372755 806386421 208305699 737571212 261990244 567856695 340094158 336189442 589241261 828000640 295890933 204072946 864958717 578264038 463592716 307105661 802053258 963279117 516774227 466767956 117444367 421176495 423807384 682968617 502392860 404693694 428151347 550316484 328783033 140350645 342964685 627877047 950251828 605185063 265842705 127368987 798196300 827204247 369472797 634550161 355006471 572398272 328317212 334290260 978316064 189410503 344881876 767514147 343449293 110862297 594189578 776602299 590360998 944176542 142717591 239952832 539607272 901372231 438018430 473643601 773944353 321331591 873179955 874829640 156188004 943816913 313201900 512219435 766765993 566087208 305934882 910002724 717905051 845200702 806909294 434978735 924531485 610150240 217533153 125115062 190811773 276502025 132991515 740780942 518935622 297375083 244677889 356761099 872442359 272751649 370087027 965249934 284750469 325215302 252252931 187697917 147311984 216174510 722654947 752427932 486628249 867814138 713911234 946611573 639391003 476428635 901593145 171310019 694357426 896970641 262229192 655780844 748828263 694802877 629659277 552261580 452307882 961517221 509080025 484105582 303435380 471037842 681272065 332256197 260519874 626795586 751524286 785858100 560910158 214639728 396591332 190171597 844686659 552043700 885724986 606685267 774225592 351127095 756014061 686738231 904844747 640430995 904273112 963431494 627302206 726751323 861497601 790638220 341399689 111735882 718314686 418301267 545425071 372338792 528977273 477099005 145324381 253814573 264839079 278580959 370845726 499310187 340811298 497256432 778400510 123678575 366885827 275399579 607060538 380316265 945599178 514148638 891480029 832253056 169323524 114387901 760854238 338698318 858390438 972316158 242914443 340695608 614648842 628874881 487312798 409771589 860641285 265847641 692248543 490946427 713412753 378890198 549185861 728219447 687616650 961431776 728294521 136105786 129352824 451693085 257397947 235385854 104750380 330641007 244289757 542978808 348011592 407976851 295924599 875403137 524928341 259796589 112220651 299686495 267293458 209687858 500265222 824619106 759621655 602432178 191092587 407617081 330170281 920050398 905294885 733175527 300502502 281442677 713927767 994724170 130954555 291310866 308763116 809429409 347300173 374159896 501080691 857662228 243988318 530288948 609748216 769184784 155976658 333983276 571296460 331107162 446756640 389069445 108059280 379278747 547937733 458555319 377199980 782091354 704048110 855906652 271145070 510068825 924789309 761131583 404632894 689162726 806504567 440339456 644686436 748884168 454922816 241294180 555625980 829189233 350086911 784073066 799635309 404856632 181965617 146860175 934564044 575809638 774435538 394934737 210006983 736337187 827471372 906833120 737826966 927014492 122968573 694372005 774813065 327661404 817827559 100184225 486145860 200737737 650805674 614305231 119761882 744712225 139852711 779470035 548627350 327066716 739807731 718056958 709733691 949080732 345022570 287186004 670698364 995866310 177941726 849370758 160639587 937770051 198633647 892969348 543478648 134455844 414212189 395112067 411895118 291905646 482253486 613843751 226761328 637702974 755885515 305343251 563431821 803198980 449219400 220805153 760354197 215978098 956300584 334432683 867604615 979148269 436474852 842134220 952422543 654473073 294672496 999251768 528964418 930935055 244204924 473202680 737179560 332372899 769916264 325818300 741135185 205509514 635352363 771705501 625311477 159805782 553389777 689213712 497165601 416976044 225011423 629733579 521808666 649140506 255002474 242515034 513640092 258930302 727615591 128063397 964813555 849884764 841408631 591897072 353811217 278793665 452208563 645671015 661602752 211901795 653420785 751029781 171664525 956692526 674788664 579447661 446299414 470897948 985467328 973558180 182058837 659458705 346394800 879876112 306915858 419319099 296073231 720106857 216781665 638188203 122753584 101004401 738519577 625963454 487240558 199827889 271690167 642089751 695167160 238734134 442105103 246214721 916979806 215194044 489651778 629150147 608910242 566850070 676840340 899677298 396764291 798680779 486787983 722918058 216841285 741998870 169678175 679348644 509918602 829650326 289565847 892469707 495738052 135901115 284332294 930174363 928647729 958818521 368585423 466309069 107609824 696594745 574697803 809224911 284046856 175957506 454881743 167126131 611587348 628814298 748176733 846555293 589484818 212968821 699531759 851700248 387042243 241855928 525197038 372568109 403997769 314372338 499913243 696806917 339178358 598692672 545432015 848471965 811648780 231811818 988508024 205322139 537787191 211336130 899043675 181346755 698008305 136926648 736268316 352426146 823423628 311104269 889587655 769880236 224248023 383766840 903712954 115178159 160266379 679546687 234399809 761129467 617078478 339294552 746738043 471470786 973427539 643030001 864533909 138958089 904503242 283025036 970917538 311098246 892227920 159795497 887952186 857686505 533561956 684034921 930564959 345529120 415557485 374950493 367280253 358694638 830957447 281283247 890269253 654866225 583874807 445517453 109498820 441683565 377197356 928843014 753086215 919614443 877572552 154439991 302007234 811336172 237337505 289160539 437143284 673594133 475486942 304956482 481595003 827813103 519084312 485308541 136237942 180354022 564883814 592506696 956528545 844947697 704275875 418557555 669449722 928001588 825585594 758148285 410784555 593093528 195073652 683797715 825444311 342382521 875210478 239631651 683616971 889186210 390770377 585970418 613156747 625970398 635428191 514593018 891372895 353026399 392954148 923824698 424504754 927502897 554663715 447131916 414313980 740297463 311740291 593481346 318763491 927117686 673951177 162278756 893172082 785087067 747681989 714318404 887588219 199063006 366165011 237010700 509780188 272042700 551363414 827139260 582243734 123261957 958404698 709158781 354711008 777427314 244947539 771864916 798081786 639803622 916041791 524163822 740196248 700928603 138083884 243935675 752513721 138274644 797900766 948565338 337397467 245795946 280905785 954516462 264706113 293103384 260733011 286204293 180422327 368953242 428962823 353357288 925153109 144463089 802574551 494426119 564815554 327317723 707762967 990501036 985861753 984907797 461606628 424774405 243948565 413578586 208099720 466128400 797287510 806098795 472453360 800532372 668368806 803735893 190831832 841600813 657580941 964459582 662553805 649367263 678997969 810955625 520313859 650000570 853463841 549542541 808528519 395003600 749529558 824648317 763214818 549913305 632306530 398620730 388126330 918382993 118395260 152667713 204973484 343742315 773456633 504356673 770457258 362300316 236340326 859553046 778731646 969231577 422406887 529868850 235806507 352466816 510965336 900560270 940298294 907718130 797405797 602008802 475245359 523029633 613909485 844056470 991119137 234036497 868862389 721329476 163612059 394118582 319490162 635303326 751682928 765169413 865662185 577310889 213017723 888391245 952262899 628075927 741218897 817441954 366305262 264684398 536926516 762818927 350200420 463286440 402647787 466915392 628335651 168187735 273473959 545815906 811293757 879118354 379694106 361604240 969980602 956814421 771517790 204270502 780618411 441556852 380860254 440592749 251233704 882475569 970575677 280811935 559718452 571656954 503198580 339319481 381020862 620362413 330650016 218683594 320864507 473183698 267858874 526013357 579131614 304586324 322038050 166884617 931622652 359851386 766758068 556292407 333495027 788474426 331552924 809991807 782581996 416386420 412361408 273100602 962886598 819529114 200238091 782673856 124904046 406169720 165761915 300589068 577596455 995405550 127866248 174227299 933725450 328805416 554075157 122363561 305451108 615606581 725655651 941383469 672157423 629757985 355888946 224048455 797107283 762198897 321373521 221995420 591163753 937585960 756024378 870009399 337299525 357145792 277779164 431576937 980648229 984749657 644140799 331092724 612658753 650472268 872668322 317949780 854129623 615483730 480795308 402146941 687474565 452177267 705500514 292701258 754417055 649432447 560376784 477015226 480359392 956472818 965197808 668766047 275960093 765379879 986161992 321665602 726282183 382865063 811287072 483398377 854001744 528605457 945072722 575541081 303787786 415474502 247631546 162214634 619295431 172440186 812706032 759403108 198573492 580358948 595934178 953872143 696099945 680915611 962022519 741882256 756173979 579521220 636192301 155108960 483622845 851082731 474965363 161615827 414330713 957464392 120183031 325442173 762958670 584770469 992788437 389982723 551873237 458090571 766246356 992221748 683776748 226344342 992498922 228060898 399267046 578773156 324291431 411732454 370283177 590575495 963953378 144750466 957149059 278672314 667496344 384142320 864756558 960704620 828913726 862884540 759642336 310571841 231769072 617604251 592894315 110794017 114862916 897239017 332046499 400578859 557716401 351330908 732549436 898758144 551752658 483361002 208644615 861841006 737082384 938985782 273414561 271068610 763416718 773263882 421962126 251774362 751953204 476786847 829030357 506119382 513791338 169427817 357037195 432546046 987312007 727653680 440958406 548416639 749552079 602678551 910278073 330930083 853909875 929569676 225272226 972268462 338367755 903995035 590535164 175732455 628625116 150802886 793474258 676318208 337546187 701009756 524872266 322056078 536035632 848014870 351495514 168221108 513129511 123056195 684731935 327548943 811149460 487146520 363419813 507435693 416994506 933450778 392047099 584801415 999393206 817935019 627602718 405619200 792946024 196458144 276082632 809915490 876487446 306241646 625262048 229580021 693647044 917175843 893407880 853849975 776937608 510416147 603636839 106858419 774080585 773555032 548333271 464715175 669855451 965389331 417404705 257233231 175772199 163500138 996299406 400061764 325939289 563950413 317474780 480538729 449060935 116854355 465839132 740023779 255847178 894316979 918732898 607644538 575165213 994665510 175574943 618490415 620675539 388053561 757035214 568443963 630281595 537006163 273731663 543568440 123116944 402943980 224065632 331221335 192488273 455554227 819564570 160742425 162211770 639164244 657125112 411013554 348795681 454915447 314356864 897143339 937704056 223775982 830383537 609744136 723517926 419405613 711325135 124032020 306375741 772356881 290358507 766418684 674892642 465197712 586296425 216197197 612369447 446809384 709593456 562084975 316224985 941569771 559614301 167129376 970289803 663684933 675686999 439339769 496516600 202347856 990018797 741325332 659048700 220812672 411500294 214214131 474823082 514270294 637370734 248573785 935512782 590235176 562002141 208265914 316311833 640798720 286393071 954949204 781028417 250975553 844325946 434375735 716301159 334452472 547005578 161062992 551422690 822526522 351731183 867905247 117804261 650048327 927433481 263446669 486571833 404094388 250583330 481148974 465167532 942022754 747861100 740884296 402186228 569309773 548101970 260051792 345077879 683200470 758048447 624208083 485256548 163933261 544224277 430546323 407506185 482136904 397732720 956871740 483380366 134711946 876455023 727699865 850456698 365690507 982681910 469891294 924439864 496848428 322158519 245494815 732297092 537403109 111918017 758032322 884391183 308304859 934579459 952582289 188759313 245969314 153707768 268290750 373484617 350938323 516216897 112260645 683650475 858449274 603782620 188803577 183568688 661831399 697818420 542671632 875502432 511143487 313154073 874794250 417539544 959625935 766332009 358864304 825191302 925517696 349859190 853192105 563880215 979510243 368673293 393516189 563409554 449852395 219998731 945994169 381631745 663291788 546856085 105963754 855519895 993503671 885337926 696216380 103740560 552807778 960570287 170695684 262837272 371211211 315796327 173831833 121646912 784535884 690683704 582978558 202245257 514867807 824744315 347776674 887963879 640636196 367285240 865834393 783887987 294979193 759980032 776607090 701457767 802866735 477131835 401568245 939481240 610208619 338692917 815577480 949673580 424115535 112678339 526843019 617784359 815619163 365860556 157799051 850109598 342380865 817347380 167536647 302538920 631563360 448068599 175051822 375377584 866369396 704189615 759734328 769472262 572910688 858556070 422550331 171477011 309994777 676756530 773801544 783846732 131976951 464118878 140839953 730936182 216136061 993880786 705798045 812735895 373120211 164014400 551897043 409091571 229219011 793390194 718144617 689662730 163127615 329046311 680985775 242503749 657096415 272635866 705923945 378716175 539305472 725320873 578404701 886774903 722555882 238006589 713743581 363238432 691591642 353215904 354977594 296489143 864513685 538607933 138776889 374800588 380661364 432927393 683567267 656698556 887887340 802591781 446167421 455184019 700498067 315605319 359277650 434374790 198377727 770180367 188964687 402242035 753886973 195535491 599671380 112053426 507257894 966307822 993611728 449942342 385412617 154008094 624863931 775866206 984429111 124200145 641934216 157402284 766030504 383686295 255904822 754845427 991793492 486714906 311145003 923790346 277147850 237812208 389436936 900496123 800693176 468322552 141783715 893292067 218606838 383863062 575499166 403414506 239306082 724376739 509943279 719917625 154047191 637815126 299479597 526465010 590326282 592857228 648943712 876353132 558662829 757747667 786022615 425305137 699389846 513093242 693152747 247317230 717321905 258582836 269156930 900336203 329445954 718670106 553956738 863652130 768388136 748493223 150133947 899750107 895699190 874058205 435560455 604746109 162823481 182898881 449736322 547940163 311684123 188965231 543758395 333780152 249779077 711205852 991661441 821779016 611599158 474568640 199063378 150701543 752649863 557818010 180212782 419383777 887347433 136470665 459286165 466154226 220933547 960047363 676618187 718536343 201526746 877827395 101534651 141832816 318138700 397897386 313602706 416674239 126638970 582248400 549476116 217766887 399738643 929204315 845001687 225004798 578993442 490029669 756340301 715118103 529294808 279982693 111595240 889009810 805262539 427733568 518094674 763058993 579058515 911346819 618835791 347572987 155462222 614538691 495648379 577131448 166960338 982685572 990561769 560734900 458728545 488418460 309193387 177809616 179948326 429231399 236487548 319510240 572039542 831890113 222752815 378189787 345522738 332990411 116069511 611863913 580026431 821985581 348994670 738028224 814625329 742979970 207589270 517193423 358207704 255514182 886245205 261088183 980977353 160672069 934031950 884208418 667597687 645785003 364733408 553175352 658083768 596388733 213091713 497683496 873529291 115736371 884753276 641561443 828206172 579973768 465882945 315762685 981967402 434693659 782088671 736966139 359286325 233288996 395726226 272222715 125643429 615870924 385390668 820722020 809981245 400878208 404737270 650642823 770456982 661517207 283619995 687893499 317212334 262725993 108390520 870553129 711595272 246833725 511483106 879972859 130858172 323796955 856995955 446611691 557843990 388331247 531449325 415669760 815106049 668128288 104500485 120503922 405583033 234816423 418465492 773044384 512137357 552612493 576325095 176835777 700214561 748341952 381243255 762943998 178898542 598318011 101031535 954105350 248310821 965582422 688728321 319462146 816371226 709717419 708604178 317987325 520892074 685315347 352626276 316724865 176326428 897102144 477972352 992512560 978901443 559649325 122627520 254500113 779447890 338456409 100326237 797249952 473952613 947498738 450588034 127172832 104573789 704118265 707202063 958309169 224672573 580028880 383816687 252574489 445712081 392045722 425106879 776894402 341795208 612772130 129021748 274140175 952808872 178509035 703757313 615019019 740711758 856600547 304338662 926976680 972706497 154436182 935034911 116713500 593975878 867815470 710666195 640748156 861281133 901511458 792178328 813767361 541889557 418732175 529972387 757652917 609507814 863550141 270016677 213912069 372381282 940288154 968932842 578553875 288668089 306962444 363119810 458736255 328136593 944057991 457231430 296453520 505873920 400992057 810917720 119026754 656998722 587329993 554896008 745933195 355519467 562396829 903504552 311517601 192370681 119083927 153185078 437730697 953172185 682204268 834961505 174595182 184364414 270419239 900889476 195486030 995430209 948995942 594083958 296058356 113174389 591064068 456865693 779852653 794928149 418827903 586935352 350684676 739746106 453584104 825523695 487335059 972721690 887095915 643006696 509103703 288309063 626294887 203106117 127379013 742240768 659504208 282949188 884368939 305385223 518589048 662909454 167774913 558223499 159792885 689099887 889418793 966525443 471397472 763846492 632550870 515175147 378793111 409017498 380259524 658063482 699616981 461177091 138109503 284311317 474724969 634474263 562689015 123691491 456900683 447343685 445971248 276606163 700789781 475106891 783613897 256926989 784554522 632715971 903937949 620887588 506447890 769422439 285083672 158145953 492715859 637187102 408296287 205907706 993671716 781455238 106084301 204146894 917893091 257014791 419384010 242612509 349573077 164652064 640815396 491614778 860895433 185736360 578541387 287251938 403222869 259312132 125396218 212963942 703211266 745709030 737215015 460066573 383493962 514597775 683657344 416490234 268113423 132743539 125502305 143163699 727468889 894830311 463406970 921477244 834033098 421896340 848971067 720480619 250879171 416796130 760446258 445945815 665932377 177920977 273616451 982308110 184518681 143052330 389219296 280417284 837015558 217395723 768562953 746158272 454016615 732912436 346695592 900348408 724683850 311993805 339507770 323904693 364560717 276827769 224286672 578903358 616796460 580417062 466649684 972086321 550247804 279567862 298347849 201162128 133222220 280491556 265960591 428238066 574688830 721591258 683437301 305098698 209313917 897793168 644726638 793069517 614405028 520349965 254768138 688733760 404171082 702067455 791871446 934467731 753106587 322443446 767518136 555292278 485561399 721215387 498703037 846556893 388344554 640578181 121373363 416143611 986563587 285458301 148795080 410265941 985106321 912468275 999717369 939822774 432066129 114438515 970211509 446706630 717613515 364789024 239307430 849965922 157160375 194808828 979500827 257252464 773373232 817354872 801036415 137950149 708241228 319864760 422358582 143001403 613645191 465112864 575335701 908285483 253215290 759684717 994264215 397262857 722335696 543331057 652583476 477792244 463988967 105835328 134955495 437385743 957317284 434430048 584064175 138170317 387920379 332795887 742306926 680260327 987005557 865374223 215917442 867459727 452578797 721306857 529599466 600091519 701278444 173752840 312537054 503263615 271171935 102751218 743031627 325059642 338591709 644172310 465376920 926568845 947142070 507102937 185214152 704001125 345430636 122604422 727109270 603870207 344764041 129360001 460672600 407234989 242580498 551354674 842531832 873985251 970167257 883700048 607052168 421993498 101491176 778460169 833445945 349873728 400943008 653818307 628675831 238824559 701754993 947228756 333384354 590682576 977514764 921029469 488462399 408828859 956727294 795590067 416546063 190037240 660584214 933648229 422527614 360644292 644559786 192703830 249490407 422935679 193388283 832934560 918027387 678463313 152255893 682706861 425018451 624053449 654583324 590200738 423472055 491923047 565235334 516824503 474120412 707995914 871081964 599037893 857361253 962897730 372609532 528081434 325332222 557432219 721881162 218069167 145254277 173591228 626369364 596431642 128514361 385395461 631875942 629366292 715779909 321816294 669998436 691571586 477937935 544547223 141974846 166804639 728661889 159202251 301555822 501875309 573079418 884641010 934740395 302201063 963506761 733005669 513008064 201781070 901133562 530677975 579129354 939525084 301675111 910648519 825909384 956407100 282489642 399612125 767176718 938156333 713483232 911082727 878506170 414999841 694390622 312506744 592823577 112323990 155536138 407134422 823745770 706542003 420022964 891050173 833567046 149256999 102107295 722899334 707592912 848656838 299796844 492954981 626596621 448889955 841132763 269009283 298922728 311231887 273107291 607400648 466589698 488317043 713413281 986714976 475218373 923167606 721129683 255173414 233209687 374159345 376922706 892452207 672804756 615193517 234950179 997341966 849312295 669836697 873535384 284597032 830427807 781631087 408039214 649926871 654596627 944930704 166353138 279639684 408123232 236015470 491164692 141143989 530531379 179106263 449004968 331972890 826385361 513786317 909578753 644045886 461841137 757630497 945876089 159733785 491423488 367267298 517205238 455356621 294953594 862195430 618534979 493709862 208410873 889090187 104839059 401550704 559154891 538418795 475382390 288226690 325673062 625484348 811893634 567984689 104895943 258001671 963636772 611953081 350081016 530236712 424935027 513049580 180860529 289823471 811110567 831175305 457567948 391194692 496261779 518118289 580598982 583670373 692462392 423157991 865168719 182950009 274032597 668772669 964791234 280860498 887674072 453576209 661846377 683756298 399387457 322568668 288463170 609718667 891469057 795815721 369476232 808294074 835266479 719343585 981437924 637569302 565159726 783219449 775299226 700594740 188939601 710701975 929143837 401001512 966367673 389498104 555486387 775312824 864180209 661131365 281481024 972001508 289955760 179059492 646173311 408275346 399158927 835312975 649088870 305091548 890862221 209808876 460173584 238076557 861325510 797068533 265238500 434438037 640028214 385551900 106356821 836685596 301341898 421356255 372819534 476582278 896929058 565698797 604994468 256102287 832983290 315420285 643738320 332748510 676588619 845791331 422454066 404821622 525468404 881450271 434665595 485784924 558964078 742019504 243437668 933278950 773433396 229144130 298993395 590930288 478236609 110303841 331508459 390844423 984170596 246004122 713041514 644670241 539977461 928293746 338363778 113812154 986471377 283449365 764822589 152630703 678434533 848006107 150383129 404674432 949674735 879072894 519536765 292317813 362750319 458167969 593572883 560547061 528850841 564862861 343754595 107198841 683106739 743130358 638041561 674560038 989718605 701497387 361526080 393053921 861518313 930998496 810406959 857332593 226272996 495943063 208395787 635933803 308220946 913416054 464885512 183551758 397978235 985051114 620462654 123162629 654437618 490534682 966831616 608262596 487690186 834703704 461793706 885895226 661511662 321882959 296937431 435380705 820151604 313510534 673395532 869110338 725266779 629355115 221552710 339076566 907354240 555684024 779958899 481735497 403779893 766505367 363468569 207866525 459553024 840372419 581017991 736780009 368398202 654104015 860743131 458279554 417335196 646691927 320244412 772432557 798598289 825556297 629406166 140440385 413593474 303429034 328207235 578848144 554445583 831939958 814444662 794182470 538371217 308400092 586442739 783919351 448177228 465987440 269765216 327676818 914558313 686639507 374837504 852980313 677660350 116463173 892622609 483325960 785046456 415485216 128646390 115127331 759826806 916513491 258547890 262559678 841255272 735155795 494080733 388004514 938724825 147417342 642497211 566395034 561540315 499099616 416476008 265090153 848252680 774611590 925192231 298881679 728275676 223753174 129072634 269707183 986139654 885329253 925150974 347035160 764382009 473105357 326663920 981401791 114917318 528607124 856483069 794794043 343121514 305130827 488568545 991196810 373134456 258255832 325407000 468224516 833962883 410761368 375915627 126565511 995459646 738505971 449738948 272341177 318655782 952776411 240457015 139961738 977828622 168732083 684840831 678462203 491748070 256936966 396116851 615647530 677119085 734218717 491707270 508993516 267341677 182902432 586176298 161866648 627774279 605388560 868484736 733892507 608321214 433489778 860704390 630761554 215688887 969427409 341412788 793186847 797374063 934066186 212758244 567252733 671798120 243513532 933736393 684558234 657649474 301054575 879244865 265842676 819746765 885882779 939091155 712613457 865205918 450370879 993228593 692338391 287552151 359174993 545331053 898895724 753262349 384975375 618013736 977173791 972370850 413590003 829240729 465881283 986978292 545961893 272017636 289132846 157015088 304718690 725862896 572358937 771825910 127352712 924864338 260820097 833302298 541063765 372879016 547186531 886345254 643185327 159219272 639179389 114483594 898302316 485348070 867323714 486898315 819562297 102101926 297483258 683725420 264936936 910321472 842736933 591037439 867354456 239679849 138146128 349721663 223204027 345975761 828884996 108759097 309331758 712867874 165977768 567246757 228217437 558935624 293603807 315969816 602707941 771081900 774426953 331244473 533828794 612223943 590220082 990954662 885938536 567177583 728882357 322034094 957652723 283898649 188149960 405053988 472052618 710602829 462594092 715809795 627602525 233436073 304171932 249125377 224867714 277495809 161650047 875055958 453338346 372558901 958143645 227806502 927925122 800594712 432151166 812940627 594642396 271401311 747272094 112073598 716798851 381372181 433241473 316141014 993707416 642193384 604348853 911426933 388843537 330117073 655662887 249156928 434390595 257014422 348531214 233888405 543260245 184540521 405851598 713352955 804381500 664261177 980507306 430676412 103351148 402481240 731386952 653184737 851154759 116987581 600734591 688405634 387737574 916948569 416455428 240210819 641604129 303751266 635163720 130697819 228056175 866553976 134725169 273420892 457394447 543072865 476651813 311510684 933811137 330180621 878899606 921089549 608208997 400189876 765591113 715197238 483513343 160712209 404045955 379549601 333333740 994655229 723616524 726475402 510741670 396470554 110102945 992645534 312393594 672077815 174299090 690901310 785014909 827086862 899560461 147163146 885152234 745685457 833855012 910275738 443533154 320939777 693452932 639635344 280754964 520875211 810827171 703015724 643364229 543168502 796991543 963038023 171773705 356093308 971878982 567308732 639203643 416239540 663251873 882886197 736666832 397701800 757934728 611385160 947996614 172898686 550017324 802075183 978354143 249584603 174567853 104150572 291456092 526777639 703079639 871002694 726611539 976967561 623306289 292883314 278591056 123505753 704157667 415306609 831651930 544562783 912549659 122211090 828940158 380918796 616331428 845209306 547603264 266280729 682238122 721007971 716433002 512514552 339173584 950379969 832555321 950795914 485938589 589314840 727307876 548228729 555312334 283940697 350035209 272160803 488582934 185351809 478159651 374599086 917094221 933813511 167793946 816381591 406435192 779982037 103570018 881226819 470905223 766239011 138935620 483073195 523883362 199696647 371637894 217795127 103818441 542086118 578270984 118497149 120190034 680668439 805240877 490449924 809178046 357510911 425439606 953563263 713311096 874969119 831236032 500123714 859042124 619200492 667869642 472976909 501732907 271786852 720216090 918047293 175887119 182819707 915424118 843668040 887831938 557485543 958578035 998241400 560252041 605340102 894842152 798915262 857770447 734480782 937552363 391577575 607181843 248776412 423948864 480133981 949580583 220817681 908216292 255064591 254030124 216932484 636551786 954452167 671753546 383753114 253911055 475915474 711309313 202217328 451647086 987434729 837091311 702063189 379485716 156146698 733565028 860664230 437695157 163988579 574209608 585985797 633486633 233627970 102175896 630142240 431939309 167033050 150650165 607588746 698670192 683155444 179977651 580799761 944947396 710797908 148489907 846656455 865577525 627723544 237308378 612335548 510278046 660465292 205294179 181379922 757776956 149633471 844952092 844209889 976267852 682689902 603242272 450697794 156785615 636728557 266949740 375695392 554330634 555160959 254196481 907257934 424944972 855617892 233961468 917688839 746853880 458228991 336655935 140829408 884155598 370600347 634877168 507775504 886127611 452402039 134943084 182593420 964614887 442423196 530898675 337542542 849087691 291398921 609899516 667864907 758355225 835094226 540027612 633801664 879624521 909765649 110605438 887454749 856048479 639944432 232514261 749128432 313917999 894209935 324846331 138075616 182270712 138780812 193211163 863997319 442650040 941150032 765929194 985467986 916953824 731195304 783576115 945151692 365742741 866849330 908265748 187789897 645083936 147718994 981478312 805281587 508808253 398944206 821553482 257591122 163515488 496851362 483126557 584355247 814662198 681333343 231673249 995787025 366946720 229769662 598930731 439696179 982772700 283961524 539750498 633501507 880840480 970542952 767750165 108688867 566166745 430904471 824477205 788119198 974803010 893788245 147329397 521488865 284338655 304593542 319928136 199362605 776001397 473399580 401644294 932635909 637200463 825492273 244467143 636841563 726557384 861025320 861034121 844828077 684953728 301683868 474035548 958608393 898129750 133282712 773142912 882997686 586555451 747941771 304440983 926383657 787597910 289736508 798458653 502660254 598465976 999010717 307206718 158620188 964995401 938352447 584873801 536797329 860576926 231463764 486746851 615802283 639015264 999631798 701222786 840608208 405033471 436893195 164007127 144082473 683173830 583082408 758882523 326668193 701275354 251760065 169046305 672111934 489877385 868212507 733643546 475950893 412978130 514379387 515524229 940947306 316036830 258673935 153591805 436701440 758453951 125272521 522417708 476306520 404351322 154184137 689368690 739733817 349145123 752514205 665968338 562476705 623648227 875104529 345400599 524187030 393363841 707286177 157561403 225999017 438389659 559213093 364604141 263254204 665146907 395309661 121844752 545040502 700909605 753437934 356172392 233420705 927811381 229555878 998804334 728156175 809089331 285155187 483063648 359087366 527095816 880991498 620099672 385861298 188786192 619671718 299592488 233098757 329810167 306837106 223932184 940474306 108467153 165610642 531676244 106924958 213084644 584625231 714657790 734225973 631005918 114517708 622388662 903865670 716695105 159561376 973734089 438832768 260826322 546381890 101070114 861046776 912457320 663243097 223053949 579135274 386811710 880631999 212342743 761166413 883585238 769056412 765807220 222946270 808588330 611336224 262553623 563080772 311045286 771219914 637996507 174523531 460542668 905063353 257799992 542075117 952467415 444631833 181078378 328340871 243644652 794229511 243089087 568581944 681674729 227301796 330971958 991633662 153070530 513034985 927876741 742249189 564354445 647619506 513525507 412932892 187781013 310771216 892644467 356795193 180393504 261949216 281019422 483277795 705799254 500770975 263427809 407969513 468452503 476530859 781797103 946450767 195708633 560099896 320571540 746898720 488429571 571836826 313525949 559401405 719429936 832027098 445723461 659206265 679666055 961469356 371485071 123711261 676550340 988214130 885830129 369163935 441091269 116666948 350268685 729992349 192148480 749201547 896016952 710105393 853143378 591769321 412103636 431487184 909666205 775519555 196644597 579753656 212087673 433150393 917776671 934407206 870212671 565276494 395810371 711188962 118745638 570293665 306404494 364016162 501315640 246446494 687672857 349060314 477983663 711531263 542252276 988890566 911277836 398606986 128421996 421101203 237589268 622685383 736787469 976680824 949781001 928724069 260360612 420452830 572772830 208234787 727598974 498784198 282603010 987365559 321021601 160228220 365258742 111273186 561150288 628913687 169430200 261861862 775367224 495240830 860318677 637709243 648276218 138924048 441854292 871244067 840890614 988309745 626849391 878568400 698581747 293640400 631754291 845178025 951874616 133763365 393710240 939621558 823708695 305688613 872864676 329576482 596484144 232652652 117536832 110236753 415457194 311783810 394886131 658790640 918258752 370755632 771978338 557272553 666085892 557044015 243177104 749937985 550427907 115494959 888959740 661061112 635431230 629103312 845338657 155804236 557228492 487900157 590787234 330274565 130645160 820704841 941330722 445305727 638492132 935030873 322197032 437060528 777346532 991740685 296952349 627137610 670057858 996698911 788359152 471256880 975327723 141095087 831274463 305276157 688084707 530111351 823140345 241076556 218968682 631062708 726749531 972820366 208714287 241803827 242584437 733122467 280727715 666534245 177633545 774106338 714077017 809846277 331697375 910166312 694522988 914593229 715741969 946307613 909155599 859630427 974406126 119372060 308856762 362376117 501649478 418226482 192366723 599483497 376303289 620320363 856335311 941180339 623918231 487061331 914959408 615095260 883489314 356612581 748595121 480700909 391699714 588074630 940692157 283636482 338682768 878708347 423383935 124079914 854287932 171444263 758002001 425107337 498723026 146160164 921963109 770304497 885173946 378614781 797314484 262784450 221352814 843786025 658825973 650399318 587931270 398072659 101202192 488073995 139978264 105019354 481036190 795918307 506160041 274166616 405399522 700536419 234643319 699907237 379951656 922249623 228613127 594962276 512253319 977679663 677349668 109191651 672641841 447731502 613895135 545771158 296819302 460833482 963223656 138491336 616644706 665367702 123911493 230837496 696737760 998460327 898117734 689856659 395950828 980319239 795131640 919321832 691718677 292549447 909857062 838712561 828986070 818172236 272576210 170769655 238296032 539804222 932440320 489791598 960551129 312053799 907153246 402017848 608742234 578866132 452060710 257372477 235352844 279598267 412304244 654978815 744171604 196027262 370114622 346125783 564032278 773254352 299136517 581134949 933316209 269275983 814703300 504049393 831086802 437543521 758094866 145953171 952892730 298321365 196882390 423744368 349544687 775633548 406366218 964091550 436475526 865917126 241962142 421850598 498979732 396077613 321398185 163502945 115958626 323418765 214522160 437869296 225957633 432134184 694429279 804001585 701319275 843616465 698763949 506595234 399608802 778706623 806603729 244666825 673034051 136887640 698210437 960867035 135723065 419745516 212721454 368828373 198558842 977939839 162694821 618430673 439421608 114349792 578212322 900165848 976361506 239859229 910577556 934983093 372967024 748446246 397500909 820811894 120398393 174204743 520984062 865179676 198163574 173509244 382911550 693681545 828435850 852037709 364327913 772030404 280757764 927455961 267282451 757421787 200333566 416593807 106355488 658367065 622437676 688703774 685700131 190167740 962311870 794938164 825603591 334971447 882605572 253886499 603007660 846211021 214195293 440711914 923652728 872348558 210354718 976974715 547746510 340676886 658785847 686343253 738819996 970748953 672631615 561499380 414292950 199889327 523646758 118484294 971544970 522311276 897267552 206017377 946663324 438803023 462467649 858876902 155319875 987054293 204739540 347644419 446389147 232926256 810237228 319651927 796066667 871670452 369376771 332465647 740345401 655452913 235103664 163502648 277058800 816371714 606258130 565337122 661502134 130483364 375996936 650933621 684155235 383922820 620233976 179999429 639169778 441198348 584079186 158007839 750157052 118228749 683724706 797474333 163928925 177093758 310877766 747619153 452718107 880661458 799133891 531086690 112447508 320680668 728271120 562587275 191685028 808130979 856942322 704225792 621337098 534551166 106604138 977160250 408969674 511500793 840414951 124727216 993172070 369794054 459587814 689117292 771769232 364687300 160346350 211925455 132864064 369104109 216063749 192887011 269893484 700665627 405855220 353209170 516642732 427632457 984371646 656961335 567319501 887130625 930077569 629422878 542234345 806454173 895889430 686552843 213089511 646605138 329005396 456675867 484476854 433683095 401048870 513460505 858606304 785535716 630795981 227140828 170981162 834606888 330330769 322852520 532839336 215719283 945103348 599633816 972185732 945698414 248929787 263015223 146755354 111843374 355086672 806911544 448986538 613919558 934315153 968811701 403146517 921235232 532514836 868605214 302500531 879988039 282392453 524186119 448999274 126685670 481507236 699567592 531780936 705935952 464236728 383045314 859541063 723011172 651472636 452420510 791704365 305673683 950037841 101494372 897243854 227148357 448315484 385059583 437642473 390085389 379290499 849981761 271630445 801948425 509439962 821174344 596943406 962539182 308118835 281061736 437071420 493584764 601313691 755526113 647467266 249495786 450696511 931998258 972326144 197620881 228805009 834390533 715615022 335149094 151311708 335440968 469899024 832417975 840723031 579906560 435635264 558693583 474722326 999167972 586052848 791491612 742751756 600904619 432725411 895579485 544783243 703887656 796272525 921244915 120491755 263063187 971407009 162799222 155655225 981474698 262730285 770651062 913215879 224589874 771404996 936416232 239601353 523735571 800486196 933179139 726403245 653337070 754419799 768774426 512227198 900246144 363192574 890395579 559191728 878843455 147551413 465082044 680451578 187441009 908824440 407436941 661700247 367149274 691272189 780520391 410346731 770120844 418532491 731572490 385441615 468567460 890948843 741961513 533854827 510191647 393685402 999860962 244908651 160384409 714344528 143900002 571539270 537998597 997418191 426147798 359135370 475139441 371169090 536711754 790211600 563069223 344365200 968823397 517006759 639400014 396313957 814925459 534409983 856020957 677730074 993536345 657826465 721379693 275272354 201710444 334745765 874442162 828840572 803908970 945319119 306025812 822479900 735796993 787580771 980716159 222113543 998862929 381631658 207990104 553464204 421022671 476700367 717563797 537864950 305075624 372461145 893968354 128111428 867030353 690179749 716715835 745158900 506610428 451468491 815606150 285879648 764887797 233188010 125241092 256289201 646785435 511204899 625858349 151370043 373250701 438165107 926798366 887601032 777881675 133540267 674140877 511636547 763943875 403041486 533797204 294536663 735324655 101422564 462779009 163293164 564653814 620928517 554101611 815446428 878900122 458392343 189605407 957189201 682709390 149171452 399022087 542646977 985946114 348656365 868506601 115658647 241330291 626891711 184977787 617983354 955228511 923925939 465635757 677322986 389944630 713967957 452236026 636829581 658725456 178241820 445923315 256598276 226656723 645114107 355012287 953577269 167652919 718246310 995066172 349079167 685658453 219220608 473779705 947732850 332818599 270635977 426276243 525704528 149221087 405451363 805472699 903339185 507707810 503610508 305748137 859220927 899454320 488540844 340671040 714722046 416520257 788687391 471069329 786744931 221198047 358943722 620456362 270550992 110893700 861169980 419504157 781455105 852805180 694242551 611819385 102050759 904014663 990766964 534561208 739393367 822269746 300236027 450495382 674417562 903066343 263988909 811474732 611544756 161251628 218255945 651800706 464359745 489832619 918015324 261233003 725103890 697400234 375566541 775423379 848139002 392539986 461982774 889506747 463909938 659613068 971553640 584430336 248790524 474319001 848395852 491705612 128473725 692325076 455600730 954874824 540199999 817898095 769170814 664345962 527294452 896365738 708609647 411612194 273403570 572899239 302482665 528314176 693533792 486621338 293933336 572230774 140531604 427118823 175641213 255623223 270203948 482559496 698486390 509253398 270955041 461650642 420233790 705706151 989757706 893613361 898080046 957406410 630397772 184517324 713709240 748105749 995820882 818836376 500598613 443215811 431082339 156591616 646510544 797053272 251284165 879863692 861251248 722739460 989378873 364838934 672122342 416565992 188504469 133800163 808345844 810254955 835317401 669160549 960866605 402007758 183538909 972483781 876895458 720387231 573724594 743366109 667562121 760232453 667100713 894102064 950952249 764565204 382372173 374106634 457896910 630387559 863345021 397647220 302684797 851301519 948323069 832869949 136203142 695138460 719450032 437395276 196475214 777503819 339651493 106247706 688506343 159414351 350928874 424371125 494522266 567201043 799306507 996821469 522552946 261263477 589797627 462284360 462594736 404127737 782256201 743777665 797930392 106489452 303174226 408882338 139242519 743697933 265842396 472988501 993004777 446235064 316728900 253559175 212397776 517107158 277645680 328001708 230085151 658118727 149996833 698857912 649098321 510716432 844801405 739570723 561769636 211452322 638406908 425669290 944674607 553238256 652658453 757027665 972411720 911548838 324976740 953071203 570559582 338069758 513336239 346425935 927176597 818774092 238269454 155712245 363423740 361009696 809018755 583660576 947717380 193581107 726609226 922741532 245963153 623445708 419825450 994942803 277308824 114334243 958727039 252963825 193049092 806206770 733572219 245617598 424030105 837391101 939644423 183241086 316091220 368374252 290754772 447453924 484003082 529571815 846108162 885276194 555262494 118032707 221302258 103725401 599340472 170302315 306754971 504270636 146301974 183418881 771433247 412332834 967637432 506088074 930582666 479220411 886745215 266175284 866736875 953675679 579570186 247095057 925440211 767189075 292790598 701857608 278744676 914467448 376244240 565985875 617623061 439993935 678907337 359712229 119737880 800845608 959695475 133078631 523570499 906988270 807401166 825314792 400249023 753134309 817308836 894795412 959416292 389136884 401018070 949547627 656903713 383989224 586102885 834627504 168260071 480016290 888876176 691051975 330383182 797827134 889449519 795844097 486910591 194222147 266794735 598402958 737906961 204506154 398066905 850360157 879818179 748209312 342460755 527045643 656968782 390541351 953237050 232426123 956487048 561172319 787511237 531381719 396500677 842592177 512449083 628444624 792098615 344154356 428412290 579849386 277481020 647680059 856224283 518935067 413756556 613240423 345186331 979351731 595053955 996038693 893781658 605593395 667977272 285207212 171364220 923281486 594169338 562906951 132998414 451719847 952970911 193486291 869839253 294010714 296352541 782679267 248140664 456984977 192698947 372675605 397681808 549263508 399153774 531402941 463921404 244739845 961067639 422767837 460059890 671244523 859420707 860407749 396572551 737141972 314869728 343161464 718097611 709887397 276706038 685888840 907618384 568439806 572372244 620513501 558350238 824386368 389012244 988352133 727015881 747587596 674253551 960849189 519482721 208809709 799785313 336171658 486645217 391217763 924683759 720517597 420251610 820573794 834663096 495986279 737393929 398607246 887756075 323476017 460693624 839595323 423106980 287256280 452135734 191089917 625596250 613013259 801417570 240568498 435797432 160796012 492054495 784574574 257064865 496123680 700080530 987256413 836511744 769350104 753784506 808281418 843383526 650020076 722144516 976410867 763895879 593883079 451555397 434050037 516552181 351031859 653088036 377217231 183396792 381052467 922630410 161152087 457847567 872036099 522334190 118161540 318953307 898096219 178639423 659798313 193666442 855541619 277138728 381266320 235966618 697868050 855650361 389779231 293817039 459849524 853652166 245876342 604043063 754652402 190739980 771638845 721957348 865129118 400676218 133300438 552572796 459385128 575519760 271388835 330882787 570160151 810139720 337760562 644759521 868694385 917796814 839210131 551768879 212169304 418200840 779574859 764781074 599385980 317069305 231795138 675652570 371211842 936759686 102611799 293451230 730491055 346110426 158959309 524152334 800865528 654251502 844953195 646527428 725456902 397798816 408358778 240815864 715987733 297225326 612114058 616288433 162488588 664025826 187041403 315210783 279806572 812435383 773647930 816859016 876858817 278207006 717566249 110062161 246887304 477250749 218289218 687180801 744226204 173524128 416328698 858107514 242372405 440572093 388166615 424387259 240034129 146539430 727281612 302748320 619342712 704417565 652597727 769185425 932890793 751243494 592891608 170734857 331482854 555122838 325575339 824964658 600837887 807320011 442033470 395775139 314250186 971193922 557464453 242749340 699315369 985994292 531394805 341193506 423697205 903217839 948502794 395080561 568849127 620217944 318237241 469677719 802363521 225894149 154114752 725299898 978948938 279527103 940799576 386529838 218931348 218543554 918740307 780194804 217001094 762928514 600212486 843995224 379954760 420920581 172278305 815510552 827927417 435511827 227620624 681555267 407552431 295550485 687396118 655977010 113898790 374530676 410123945 132674883 584803927 130175974 805760891 215745149 247070660 524938948 960392009 962951896 541484229 823644781 732646969 637707956 548919450 311672866 376542852 117399686 357538742 371779577 640326186 572315645 321522281 415222542 830166897 179372284 935422228 441351888 426736955 281602611 402355720 723613083 933304695 279327817 307569146 552730619 557872100 379097513 948069572 356115567 794430210 492038803 719803548 580660255 237781194 629262532 622686218 253633366 135160337 288695488 549258007 364169831 990381163 634187560 349838768 932286682 983600800 119785146 897448423 473150704 277943153 524672759 664363764 833723553 945320176 887683649 286573173 940778845 128859490 476292175 628620661 522759101 268133212 226083977 607415795 706143678 103388859 755749200 552961305 425814872 872016201 928465619 454662265 773326857 412345559 609010102 989473428 179034137 193341189 246237680 813082771 987002170 230473369 119555883 164588497 225665121 441207168 802168360 904122425 868783453 856333096 555172745 851076766 968019548 557550232 918921175 400120651 174479446 860937854 260947328 687803297 798096064 503248179 724189796 756636764 159498629 925613361 174014940 909640249 683038133 751154516 919654450 296766018 123454145 763799592 768557786 633515829 357578132 555527918 187195008 550806286 487085936 653160841 316440397 853378657 831635355 552227069 980979797 448628618 491101642 551431790 241533133 429216577 834352047 720376249 512658954 104088188 741059706 615011081 363625263 103404556 174340791 395627824 487575918 397869581 116567949 156500197 456276431 990040127 492482386 811470298 956963348 343147369 140149850 805887551 976723536 135007285 594135944 342229497 561180656 845183912 271069674 576052074 456513978 588775018 165994588 406591666 169525926 477029802 767096123 703367151 741428464 318387682 399848966 204991255 665368139 942314132 784124101 188893292 335437389 649178672 165999106 953522316 264745902 970596829 682623528 878465972 880647044 366494721 586594404 316487521 805920922 320278239 470124236 904789342 158093590 238814237 375603238 616766883 344851279 421972115 302585781 586349717 780232564 931061678 922756910 327045388 720106637 464823543 606911456 973086327 828528183 913260981 172821368 146173129 495080947 157752760 923195886 126599637 429776053 580481167 164998831 962539207 853789825 623792090 248891053 354150424 297276209 257640474 134311384 290236398 142561143 461199339 130453366 879046763 983739257 515437461 467964082 884426838 178950503 771400550 365429894 291664118 220944630 317150402 541846459 992215666 103036266 588846999 935177542 738604211 233843795 685809711 269328538 642465907 225476082 579168656 439614695 233396433 195065532 409339710 408422219 833938022 697457279 892105374 702624840 497300846 405282602 477025797 585819971 738562008 704063922 177439118 771507393 726912747 795199134 647074166 586968446 462092778 446359030 302537457 632553724 226166188 985815475 186124571 434257424 884848872 574014953 613302813 496744099 459856377 552275850 390189098 323859700 956050800 600418178 442213523 821125793 748103698 308660673 701367187 371175795 905823826 728154654 814391423 555401856 713125806 228750326 486948044 341123150 156768011 385580947 583444152 698418027 220259276 378236561 419578287 281602405 809928496 718787488 788682850 182317315 255941212 487458249 777444110 508839200 214356205 519223607 293326634 694994379 284564855 566770849 492676148 650014674 372261476 990613801 872087202 359013251 622013810 881614931 529042338 836550732 667716902 876211249 166657554 674920891 936667487 737962936 951817520 420611972 449478985 886904714 487159347 169251796 608648781 182711571 850137526 979275025 931601963 795416189 433415460 283773021 499814445 355337367 965387292 462825480 265942659 598666722 984543662 431570961 646409266 635384295 286656973 202785968 240523975 470465857 718006652 967365542 212988904 558433026 373050896 369785148 539016836 109600248 248222681 697635967 823938506 543695679 818561475 680248510 138803095 196569381 666496394 732289653 263742343 970152926 697493464 583430114 598847716 559583154 867978362 730156819 378687143 578458569 235709973 299625625 958934529 633798191 404818230 337188326 435798481 506479902 826712664 267674354 285347564 829488587 258253501 200151191 950558477 464093344 850825366 884235474 760436935 842995917 671032445 619631035 184703853 746418666 228703925 544996708 529872703 555446356 849258467 240583429 432830254 614041262 220899944 757381247 819719600 431180805 568497199 544836420 578854352 886002218 269300717 932311010 617686793 414433527 931439587 407964197 580163415 853049581 458523450 678317575 380153190 467326673 860210116 576448182 571871300 482919850 526602425 656112382 824576160 511794750 524870194 209360653 346910204 254712599 747272234 840868501 544169483 107581506 278985197 190043398 146461828 118410201 740127652 967701927 179644284 240369146 981550522 665257905 857246189 972469138 928397520 639901259 644619894 547077554 531100693 888186408 232994394 547847103 311116612 244649093 473990872 779701964 586613553 933928778 143934539 819156108 498725027 995418920 946446098 884659820 454214681 296171164 355494193 877203419 944465600 615944009 931497848 553217120 228843810 539053490 551238232 799756852 189353530 971224340 365664994 730102464 927592139 229866565 496041269 898288783 352451762 412994993 528381374 690146071 998047595 251187350 132326854 136447990 419582149 708214216 100086890 799456899 976207222 210950087 242801490 347936523 921673268 157862206 235565267 421860846 114102079 113161485 501043272 889929288 910375247 796408336 978002193 389668702 850391784 325500608 490658157 312418326 666566486 565619600 233531515 235263911 377922637 952587129 741959785 411761733 186557596 927133628 288504566 599889439 443101530 124946827 300213445 749977084 368674501 522484871 669746185 479959366 297751964 335233656 101033320 820502442 761028248 381216330 827377480 547155426 627368614 277812695 695799693 161314557 179679365 650786408 105589360 643676889 549084288 254007971 444516047 214733626 474404485 852733380 787038010 439248278 831371859 644763245 195566474 380924320 125561132 257136051 659014133 797849763 594059582 859938125 701767923 604379364 316684480 747957951 743841988 541500938 780916604 722649473 427423860 819815636 316810598 625248389 574665660 705936605 119250635 228703432 451815298 845993098 944601729 429552805 970014368 504266241 618762836 775826369 925559246 448881241 685453315 990691253 880794360 552700599 220271729 163814140 463138870 372344509 834151822 371186750 299253384 824736753 266476738 147810031 811635240 248055387 358977729 609955662 772121848 953680804 215921223 151987679 589678231 169719548 572974884 497383238 162953117 160392722 578704976 761560906 837505929 339381892 793720600 711456963 987593003 359282297 657975748 302442263 942546854 226661917 515057564 424802287 206537995 658222444 489922658 974243761 499544349 266639395 405648533 447816920 701709737 274664190 429547592 595775148 594728915 282827709 489957099 693088451 882202088 549216384 467571660 624992325 401219516 877034029 245399172 342869506 300308642 668460099 810682124 612479201 665998317 181307046 656242388 738588910 726039381 656228608 693754741 790005857 140438320 801749813 302566221 891127886 107831754 850826985 984120104 554339180 435554118 768104202 262466686 483222610 130157714 855871426 648187824 813777798 385398643 391720126 710402195 927133519 271195207 630538378 567562038 701778764 116631504 381439055 510865646 911191936 867435490 691034573 705884559 194924166 116743645 491343437 250322429 392660336 799008574 246161337 601671882 770572463 981210752 987830206 695763135 701528560 115119625 771159261 942961057 541459880 698112096 619021822 796811146 140079401 447703511 416539458 411052278 202202675 823566468 367316282 246908529 859722370 785295581 997452249 687468652 382326254 328087997 284890074 508121945 176889364 168844112 196730995 869734282 191215684 515728468 432611547 928566080 940091562 157778870 522523271 911647011 461114316 584142184 324158408 423381394 692277601 840504296 795166160 498722771 602004054 569558379 693319640 828437625 139290321 731773356 167409519 448320754 931378300 570831118 729789187 354683631 163180018 835040195 522975027 823693478 804385941 278798540 728996425 601162250 940296008 186635196 954023123 941710311 817494865 921654783 295000879 495653476 115179720 485750376 352179250 418276216 482714369 520835430 174491768 798168550 530593199 479605619 661408175 113396500 220532951 992656621 853731936 519169553 888544209 934749108 390634294 993666205 775023969 659696726 580895103 700125291 711143553 503774719 821631665 903958285 767178038 108651555 789694072 483840771 538970609 541017747 773118937 355420561 634527436 168501215 955959580 369144336 786990351 640779005 462496224 820729846 590076234 431392316 459182399 813369547 176293274 236047033 347492499 705507275 636679276 601540633 188465614 412849113 283778315 189626379 938706526 233662173 502036198 548094677 829698141 128410804 684944738 849945408 224698841 362764202 117147359 501011981 397357399 815086288 809648161 361987413 263665347 920868543 747788175 593662495 969308094 208750443 419536795 537216255 176138592 958707308 361836932 546742228 129867185 665710482 808050153 748958178 811997566 876474848 912775320 406019543 455896729 348994899 501095775 398541549 666997510 598317929 208921592 396731823 934561775 115952252 110161710 595626672 602795449 615144283 363309983 721249479 404708037 895428211 685889845 558015688 955145127 181557478 710309687 165325676 167702835 749132346 136133046 182261408 735167372 541212500 131812688 803970387 985583755 123603369 409924811 350031380 447672319 174187233 934039308 125503120 786623133 518019182 229891184 546404787 567151082 417878371 731918989 489051010 704484509 456839486 966945402 965750650 244781439 953338049 673952318 780221585 678444862 939822573 619537272 133747741 946930398 574488713 278208352 336125091 873631722 443655288 938171503 939568259 307915721 355538821 207258483 328381796 475238073 598092332 600582679 134549376 232532983 430329715 538250679 881956116 106424422 424883567 116631170 657581042 434995238 608707142 709606225 913016027 184489877 298395544 800415520 855323059 225299688 530971957 567170591 650839662 604779531 434281068 141038146 511359711 452231843 941490021 192225756 163399069 461849844 401079300 680426754 226593562 440709597 418724858 600391691 845507269 760383355 218916093 250282845 421093846 942393756 780369507 500813266 390638475 123119733 240735424 384514582 563923731 977124835 318926479 177495886 353777973 796963819 553166707 418724054 848258119 239322034 609020269 836487483 906630103 922230516 970450174 737941428 571419014 714131302 124360148 876141714 887213561 551859941 609377065 386930575 400410114 965536238 317837183 512093742 327165508 867288581 993454722 296526286 309320598 144028127 681261451 476621413 391833935 946787859 494932523 299939066 924433762 217358737 247363592 597612486 749906861 153734615 163025698 294964795 869823603 524022748 968696677 301724367 710912177 408767801 931271579 812694375 507810781 171123450 177770329 187890042 866563439 745736598 768710873 277376997 860925265 718209126 398908819 218987492 905485255 991765509 301245372 283252066 820593609 303603062 711159778 774372974 809574496 562601738 878611706 236527288 708186769 615988226 526232631 153480962 278922967 375785913 700879447 982360028 500357969 903923726 379967703 117259449 473354872 777772124 976227165 766742939 559769720 434485246 652091033 575396556 892135873 381303060 209011861 488828854 929359132 667727554 116164576 169997603 313412551 838735734 675513517 788347027 732343650 337770276 508741165 740838112 962710609 107611805 142377843 748271767 620990817 976038955 675198964 687927674 228165597 342609399 691973537 604646183 864125752 436495469 815113370 250403370 505388129 133561069 391413053 739692932 594545573 497161363 257521317 695533827 853582657 118570014 378138172 306920643 933578378 313325414 957071033 232323630 163951777 142109374 909234224 977832032 827851558 985371527 234145926 557915723 929182802 311773018 199181207 253405909 284485078 671395959 518080551 552285073 518035791 230496689 150388485 595610729 185894618 664489161 118568384 917930774 381237472 852813177 412711732 461701935 299989700 321735551 335100468 287315920 130694583 167572806 246883658 648268255 610567203 270387593 680355304 186708087 448166521 625469226 824925852 281481241 394676032 865026122 102530473 655099031 953810670 485140317 253364394 715047281 674031516 802036005 379871136 790565992 659540439 279828622 746180822 215853517 430025500 223988487 881625563 885191223 517961181 195148158 307886490 216837389 570728430 940650277 705546061 986776204 383060667 774968059 991557053 246263907 212586965 859620410 542817088 675963776 255857246 854867396 594715763 580465938 172623809 336414976 896630574 585404478 721421739 919369449 475809831 269266864 736553184 275638396 987215154 813957322 928344514 482282807 422392891 784570716 149439248 229958912 456818887 855472877 818310954 672362545 694368876 155412556 757403038 362608275 955247198 111127596 937883885 849008802 853827936 168770069 355977814 739428402 572414242 638274142 900466372 338170837 134056058 325041560 706137477 539591262 514001596 176991771 892714327 285365593 997376665 968856054 211249197 571871865 835286031 787020306 821290405 924087983 553855043 353951892 109373061 442063460 870616151 598977074 850259785 432783456 832121350 629407031 433771288 540106969 750936790 367451238 790294125 109935894 495920057 443296994 470160042 226306583 415873811 103008989 587229757 926192451 519296908 423368093 562840159 390829252 801887083 881995482 842053221 101784205 210755823 582852474 976385470 386395090 370885864 757208739 373428708 231455392 218523553 205962686 559310721 274507887 254911307 535613351 949835214 774792258 892406299 550667799 308665417 320954710 578049483 784896098 681471412 863634330 591315296 539267466 131476953 701736229 322937209 572038653 392007141 542602424 102750518 702184540 525817107 778840398 919081161 163690247 731677994 211004188 630700915 767668947 801608979 503512940 559178953 922681549 932441943 276769415 522457339 904253021 257535321 657268116 211001503 171926867 957355320 242250177 239787890 624896837 822099083 268511783 528270867 788251327 379721994 936745010 279707251 175687069 712327423 517997225 265322652 150239021 598995389 558598388 398006448 899277506 151641744 888615917 845484145 481161275 483099780 889506259 775376830 907247330 772799159 222666536 264695073 793427369 532505728 798834420 420936767 382542666 243820232 219496379 426521731 493691966 978710915 966454614 378751426 766003554 141904366 603207882 218985597 271417158 118597000 370676323 637214255 161283742 109972182 415955933 727555289 277263723 689948045 580515955 267200995 665579296 297097757 311151685 104760993 602941024 869076204 577702346 228068067 447043910 609659362 848739590 621802181 510686589 897364790 232812043 659718419 663442368 627576642 239167796 385754754 902993377 859560113 485747475 725751331 505690229 273602776 400344890 268650158 773311628 811337830 271773067 687082628 590722660 343021647 765662207 560481829 512785401 658340662 258570977 260260143 520668089 726608686 630205192 817016444 427712034 200990209 645401872 517828678 147463472 652257045 665500691 720378648 142181361 804253524 746860863 408830816 250602523 449966092 524426355 127970016 401434575 309222710 804327826 129455582 807487423 449060488 785601951 795860435 334664455 850471028 857849395 124576326 536955597 339932915 388413651 139402952 272072998 224006431 640247456 420243480 829433858 951995942 679219869 990090520 326160488 842100678 884805549 631219576 718124368 389143056 872971323 175073647 560346692 322237274 431467176 411325589 980514763 385073026 857926949 778185845 542564844 896112078 351935792 526785280 480048749 942641834 938636483 899656171 824949359 153201553 510187105 819188925 686196178 535010129 166204753 469248278 869543982 399272533 610425877 952535512 591854500 375345203 832878507 865384664 858019977 981711515 779498913 821910552 398384479 677591389 129095328 423112527 182723021 744338829 487747496 165886025 254394522 644925653 406385927 207054129 484734024 683743970 548322043 256314588 874484674 876625751 148099485 995345065 743463692 844095497 758286545 784397244 497044374 385499048 405338408 175938927 982472712 481994844 166425664 941034430 447405138 447864971 772109488 877221335 441204863 614499694 553690078 682942607 789701713 468180064 145477626 220416201 148752660 940045182 319956297 933178165 569598580 350229305 752948064 279949880 350922238 371799311 626283073 156497410 834034497 246225614 522932582 188202761 263847408 227492464 273620167 707418474 818230035 584459957 467051525 739415119 230987412 845326685 677466933 850925812 861796491 380692530 746351812 929481569 175453847 911191524 341246191 443145343 858861486 348998121 619830420 998467217 558205726 456045100 658842306 411966150 644139744 619589196 931152564 109547970 213002110 808847811 605209820 384747169 260619572 859171527 213070384 400840320 546718564 642718088 918282297 397658059 896476489 640137688 569960341 843473648 627768486 503627251 788746877 436016018 128720467 595994299 940027546 405284668 772613575 939809024 260543621 858219349 425609889 441425949 549690449 345178908 521993273 987486081 865887724 494658447 338904412 418274310 572485779 680277649 848345500 638986143 750001587 112233145 329425467 581968418 897175286 864790821 136026200 198296489 582368299 137580559 990025722 868827555 984166084 427839036 558324215 393567055 435128116 837186014 325404695 321087716 476466338 188962352 647235217 754043525 702544093 431279988 196087033 556172072 330447391 474855323 566273516 505715533 356009443 405989233 164800458 541331518 440266934 205012594 939413381 312189178 989063298 509562711 542621182 823466878 680990093 230987959 244770059 432921571 999945534 393632329 872729745 687081520 841131688 279530213 692884029 980713867 833230106 531826078 113888701 591101149 401808983 666446053 459005184 295158422 281724930 423988744 937047793 845388408 846092788 205885563 692704060 187303293 133324800 519153547 720028747 703356354 255297303 709873465 581661804 250796851 714072319 967798061 568057018 771365858 250560984 106933771 705686448 653688336 200756084 840734757 111775217 950846406 914471246 491685391 784550129 458574545 791952422 101684867 733812387 677870167 696783914 641810832 308444198 663835601 353201861 614124557 329601593 745751020 700951931 641949988 346537677 716836205 159009478 690885000 832861912 418935509 985792746 789326111 639712833 426327806 441190794 857379335 615167943 570953184 774370219 655402278 580572699 343811762 510576862 339969936 675606413 301943887 165638710 326458087 963333154 943531442 991769083 295016629 343328505 117997073 586246994 876295107 515711590 204592187 547118690 305611433 478961876 964330607 978543168 217222998 253960567 245744393 501881254 606063969 967189989 516775291 215492537 573472997 872654724 789585676 592187065 643667326 197254359 587637388 792196826 798575502 717145782 944269175 859001089 882942234 482178494 591670628 171108448 222113719 204396317 788169209 938275363 707443854 924504374 950937461 886392273 909605594 883644260 845509036 948257481 384838244 215151347 238770254 993158747 932371817 717590211 360289998 336258023 701585106 877162556 308716305 658335813 727456115 677228224 964989355 693771934 669265884 640654199 789749071 574850852 337699371 511285554 468310690 635961134 669358415 804392910 788093029 795708287 898891892 574607498 607534106 118660657 649487815 457174642 716956334 106120488 853779810 600756953 977882811 112654102 279264665 264884335 946048325 123011323 966972089 323278437 903049367 873778463 475619097 143972106 129727828 247638231 765335876 918720194 358527354 477927660 573832952 666116721 964249963 283215562 107619156 666679321 530720517 338181430 801130749 501139024 740645090 423969711 580402099 161658081 922571035 685051046 402165716 972029248 411644667 260747120 833499865 762125963 885824995 831419622 349423620 820288012 254867883 756092392 731571250 974123366 985195122 608228638 426340459 506919746 333828440 241427472 234518429 100544747 197523644 975766276 771688076 753568453 265341492 958836707 479834769 683883278 206959213 823718727 455348989 246325160 926411889 961872537 951845230 523796111 127977332 419151672 767199916 503243681 198269094 826458889 672081343 530877278 236553076 152059237 105947417 708788916 512628059 364274807 640536152 780521515 547605706 974356478 220442480 551034361 421470186 838165759 874473939 976459010 123230922 788609423 675623585 818336157 441915170 774143845 450966243 595432653 230103581 933531558 966189699 568514457 920352984 713116358 139631509 491353316 682904764 781929684 245102838 462426350 415078822 270160992 600029107 803562300 845981074 268459054 966804073 863415826 539177991 448871957 152793061 984766313 985521905 142489966 309343980 297656331 120408311 370030945 919614324 113055533 745343138 486331061 736451313 939110436 408137584 806540964 705678056 796259237 973665055 948313385 926733532 828603761 294498506 739918416 343348398 541436055 355466097 253821182 466289365 484591673 157409560 658165738 738410600 845901752 898434872 526719125 461918032 300599906 987242164 660797501 453586824 744707590 553967926 672017821 291164550 932715725 518578658 548257800 449778466 605275914 698272001 381498362 150038082 301293245 919224917 854235542 527062166 390587298 623852186 387148473 570451432 297717174 886316534 963191296 110607020 513967094 387346374 622051806 511035836 495995889 341916600 281640280 192761805 421370856 283868375 533864209 739044082 585640559 604210648 145040597 641788245 972786310 389092138 273388191 629206144 632967002 798501364 882012386 295467832 541973840 567623605 765118580 975694490 222101669 867486004 222265944 255639318 627773886 180162998 933279300 695713160 149977166 228242106 303014769 574585881 492572063 342881230 347252705 529785504 436592071 671935424 966863651 215347298 530136233 886539323 936714081 767753303 160498318 916723225 396032774 506723003 224313971 511359006 889973586 585581745 794409111 183644896 226228759 155437740 725341467 587229087 967509297 570230876 853922513 404027006 208086777 652458052 666638123 450166676 927293632 179981836 829669854 387806164 864455346 529596539 754329752 902444598 507415534 939288232 557625673 422515074 798172797 416766738 292530508 645559443 424096293 735589493 609300428 264631712 549882824 207521497 380579576 369464708 335106812 677254537 412261877 902653537 785407121 570972406 770131783 942170045 675753874 249591547 355120541 818717123 485202219 256559828 578208012 194891045 801851591 627067497 820143169 191272136 984297088 938401226 219468321 815273926 161837886 757693164 311902039 457942300 931031613 257509968 608824015 158230274 716706226 997943656 211505784 888016353 865275831 768754938 967626873 405478837 357553146 572062033 260874257 117406082 881740142 765369112 270834090 758748050 324663074 616784346 479582862 358428726 537270177 532246608 178479954 858899667 959656908 694329763 708978201 970756288 754495171 477529560 383039009 937836406 824993609 338966851 376651809 810716489 532996561 701378303 628454856 827075236 459758978 813044490 368108232 455281256 903044227 840291499 585555790 619811261 813540739 481390459 602023417 855633601 691126538 206810559 534793755 930933532 947105516 194005897 229202417 287778081 538556888 895693052 432740784 238244151 686090649 591573483 269307164 837010593 831491738 538062869 889119439 146919697 564252830 866768334 228903346 168641972 207703325 274570921 854762393 754430038 673076789 960787467 204427470 600203924 925983294 866903251 608318052 976450137 926323331 915921039 831297931 512437575 531323290 506604063 604768066 991585585 567211087 663176938 680526697 634098079 445086950 500792662 739070881 263590692 817516734 606968850 101474017 208128231 854184213 867598153 338396343 104227142 558314789 898555177 869374131 123612882 660128327 197783077 202992770 254579530 718701539 604995811 865789029 673939495 501477288 502415793 203293048 629170500 118509211 515469702 929284875 198244635 906432570 993213513 877262175 798934564 624255966 387568085 764808564 456701360 609522262 487353648 204714945 355392456 703119590 890244280 192418318 380248758 505774387 501505356 401790709 622701315 891917962 476813317 492103886 116136171 312506284 710499885 922673841 431771743 523621634 218515174 581303049 359473971 367845042 263809490 215399168 887404584 884611751 455995850 491244062 826011962 760819535 288811468 459774276 419276776 513066418 782497934 812270799 196859105 513475134 954801439 890587554 100256049 115840860 985613871 248811902 523505166 427073645 743433434 903389282 737523050 837209318 774490838 886680047 848473106 752042993 639384862 892234222 270557668 835079164 216263969 484269403 235122479 684876341 624153676 625535854 671773264 557379282 645781782 245813905 106922261 934114511 849634395 985360258 813780771 781876264 253427626 662617347 289164966 183901835 619668375 329213533 177034187 632844324 467949925 419675994 853988880 753335358 348804577 722559597 427103988 498162938 884926640 941483626 298488611 479792733 763075616 771628748 432009880 511420917 920800760 489188390 399265797 968328065 727017652 161915491 625419379 914680468 656720252 668995841 828409519 323100448 313867888 759090420 703043649 608354741 888362035 538751935 750951473 773608771 500568055 662277100 849551048 446458060 893690114 176475123 258085445 984577753 959185830 888074138 795872402 292822506 567168642 616754463 468361876 273437301 686648189 288846965 939597846 504604632 241907333 335083573 472713191 282077115 285363009 931341583 891407902 219339536 114877521 643452629 719510611 314276004 707752220 724817534 805275270 144241005 597324161 839517453 333782227 981380399 787787153 591058153 583674882 876055559 219164033 408544740 820306354 625314105 505178156 408416687 928081280 886179173 694524234 638150755 542554736 545203344 591259226 881545755 228868392 188819957 378026714 164293022 421207971 230393333 310951731 202019020 655805427 760397525 351834444 340274270 408649592 377015903 413002856 271219121 961339052 648343071 230093432 802728350 567682284 192364318 533028137 170338012 438927329 753082554 528097058 829101904 128225498 927004992 814865654 568080311 416041644 196186245 516566248 995203741 305669783 836227212 187675000 973235565 491904960 290187821 556078417 572702123 631562782 873475920 106629467 627338469 560523555 984695967 166829003 902484150 419238332 678364404 635167289 811077515 147155685 114870816 705218986 818736521 250686595 479565584 348632820 143503608 382627999 155028759 445413550 197412614 712292181 515180315 881142851 831974312 363746550 818196648 856348426 851373606 101405807 418432826 217541112 740240407 112146963 280938904 692155113 164519521 877129963 701128324 240631373 714380963 816783086 118603104 176720894 251763690 423726186 162896849 115171436 264549515 893156235 979199343 531421448 729512488 842807905 391609163 813514688 242676172 121753382 377705126 875544505 816554102 612690850 757897265 842870262 683597478 715840520 430702944 580262658 403288566 198258334 398912684 275615160 926253052 496482423 883439509 536596247 512367865 967566056 458577310 294004667 989499022 879668113 422758460 549345875 399014809 915399086 328029717 104272340 880971313 935982064 531493490 829402289 688799036 621532954 191028923 520297431 672971472 277678137 241397003 804477719 205023836 934949138 193159771 972180409 807696151 854830186 563353982 366132359 712595351 304723316 335816338 696843634 511858409 473352772 956029924 719260174 301379790 266634472 829409445 567522383 563672211 922968829 730010348 550605670 948418178 530804858 489045015 844975201 263521698 960224541 357697462 403531863 866834096 367198296 204618700 394037370 386919845 988408671 517033207 453955730 858384668 769310515 753924262 865246492 339079929 750849507 397383968 358969991 625449893 919954110 876050773 192773327 257630341 320544310 633262818 744550140 333089086 875893126 838763082 822659306 712564639 803265781 526743638 144154685 410808111 775924748 646733604 959247829 898560952 143856653 361627162 844846619 385625090 886319310 527927530 533173497 900250708 390696302 853713617 905603215 295888677 656207754 402370206 457784966 620620374 952663226 921313729 913106052 642557014 299760127 348789032 180397392 792784610 152523986 940278328 327578351 629248187 426368955 844042970 991896378 181536835 575949293 635337085 450068355 265345610 456061811 481814801 722645232 198923637 518806887 546736159 179991655 176757557 556527119 753742771 477525292 979928546 631383541 545264940 520043112 747040000 376306813 866272383 486010540 876548265 347813937 497842428 566125198 525140055 883608205 694922689 440586482 132260494 946862938 161957691 312482603 194030209 108640109 221562497 163281481 546319232 768472077 171743615 491261493 573620923 957039930 741220651 390653741 448422714 412356973 877289983 243088535 781513957 926898927 655176236 986223752 356426160 373091210 688074085 488187747 393862560 457971642 247445528 682439689 514936965 250029641 512362070 509468277 879402222 425994266 392587875 297298645 545555331 487431890 640482240 888771857 223127833 659545061 737635728 201167214 587693209 730135755 442212776 275783055 521543833 604194332 840196919 126596363 195758199 715138737 279067708 959329592 340350738 992216054 157817702 724492713 400783353 971894825 428333341 611524197 531942162 728945776 858633016 301703642 325674674 301330212 643832631 457366087 378915944 303602918 965967787 565609548 139570405 583554615 734966330 865588649 736481297 549379802 553213686 912537896 408187291 672904385 368651142 887292838 317789307 690739706 982439541 643374503 541095431 898295973 313420081 380083237 814617401 855054239 821611252 203805628 749458763 303787424 593962999 138011001 310432896 454047875 558594077 465739516 217183637 872140615 754549147 227389353 923033385 833358986 391203420 914767071 800814400 218565200 494902946 179153676 549082233 224134444 263605945 317348471 638287931 740542447 544147025 369929464 433197440 906879065 271397971 641393378 142073320 470631043 665953220 524528053 709796805 141258389 922871663 651548991 960539256 769528344 182702156 249401887 312340080 555453422 639804986 125045046 266075816 714175888 386402133 907969518 344966486 885940763 970314756 531863662 832157916 842243077 549879859 862690135 749230095 778306493 121600893 681700321 859723554 850317754 777654250 128423904 838289704 204854961 811178627 441095336 716311553 235055620 993804640 355146823 678030012 141574323 312206159 965087762 175773680 878968321 500286683 262901000 192907670 938287297 389027343 756165128 296061181 999904369 366675279 622334435 684252340 650483356 943427023 881609360 417097058 806458945 102218985 892720572 530086692 698713849 719070364 646420593 433333100 586352960 458786761 257408104 192422572 792147613 358812411 236817554 877160234 865289463 891907874 410100187 790383971 104323745 821460792 617446290 439476309 412397448 274605919 580616591 901367683 756127584 437130780 398453841 928954169 528445632 349863037 676091100 710132514 451342554 289446678 614094432 659484645 365672326 124380353 175636072 476846130 943055893 480144574 730549283 257875153 129354190 355543826 675406508 800409547 104521180 134261100 803448582 105383628 453507381 669363562 953415997 172703521 256057363 378700886 556080814 338297106 941776889 392040404 927630599 802077687 629806138 493232259 580226527 344496351 729476089 436436052 942611753 622261785 935695166 902381729 539187255 434342074 780118315 516185521 148949943 144107922 398328989 983161463 596280078 901069300 234220042 766633295 869196517 473332125 192333155 326886860 723831728 298670888 614378300 968816676 983335530 788417604 302380896 354500350 993533701 944624922 467470542 301698267 147839151 358509862 342238953 330969425 307498746 881028071 111249634 201272312 430716646 779542192 311612321 671518326 328518203 306772249 589543840 261353114 815614925 820809934 389124676 145924913 354310795 841491072 636007901 814946069 216814262 659139226 967279153 673415739 876210724 564613437 989539846 863450256 516291484 926086479 389951747 988555939 935042953 816462494 960038941 211521396 216124357 975637471 563937149 618760481 858115759 952608356 431556899 126606484 235783096 750547096 433770977 566444344 599972338 407568695 340775827 693987567 475024455 929597662 507138869 157117366 562821829 569679387 847434556 160634068 616125617 172554427 920579021 586453124 431679771 129464592 439021671 151952757 495091093 430169707 595181976 973082354 785345025 504332034 603654838 924833039 448887190 735565333 686232938 220913874 875703294 788825581 502097272 462786892 776179350 216704084 587103298 224109879 137210522 731780978 159312218 308079442 835526934 266959100 713834952 223414067 664690073 934894042 749145642 527155944 782555538 253027315 581654420 207057489 471895098 349599609 735876152 529606493 345723600 644768498 854671749 174002395 433946332 701704961 605988115 261778162 786572550 964113216 946917240 916916757 170188531 787725269 558590297 989372807 103565682 382244316 315869956 245825973 911529960 267304629 755207182 109167999 772977583 514745640 575899691 213332363 378772556 956189667 660467707 110856082 808492411 491793628 317344506 152965160 818320010 126985427 130470858 653853431 925894706 589417549 808345874 279307473 513806275 357139589 494426280 418058404 481790569 631799921 956899970 444209615 729459558 948761051 206706601 135772093 383301823 120528900 293247657 637747016 420977158 525692495 264455611 474120280 413743747 905724606 418662929 633014923 852736948 204048620 317767192 341451906 818445854 118197691 390855173 968224392 622419153 658693985 721658012 703442398 711074371 791413060 670711632 494384458 262554007 547191572 674225210 278824342 741861336 506456712 307152676 590199045 377960771 472686996 949402019 445319343 628110746 645817314 444270050 903385987 136111378 622644288 937780081 738757092 647299296 969200064 298927329 518189988 688744210 354061905 126896232 983499100 710141596 728028550 294538421 884613256 925704145 223248272 372558978 516940007 601970641 604543682 193854970 572758968 565778879 140823479 273084853 126731173 763583851 399655032 145715790 513169904 207416855 795125779 390133176 875966069 167907291 203934259 706342358 216003936 742140571 187826290 624223849 655274564 447228242 427935412 167986109 102887274 833659688 907310636 569554332 238323044 405217052 361077618 719933231 152451247 220285625 828120679 500014929 516643426 702713799 337131691 151588340 326964716 574142848 333843203 252527347 893618327 995215699 932330986 559317883 245845222 854774620 279012833 590627661 100581405 768877770 207297780 563554037 272933747 978095849 576192646 875592241 277020778 843900824 852455102 897857138 161927914 233330129 353447691 781099145 469159523 212798515 115918167 372884626 841141130 135089938 714416587 887463402 841383445 341330155 435651349 200802506 983274340 343353759 513800326 794271571 311719086 452949923 753538193 463052053 828780661 213640334 547522702 625958420 786660273 597162099 439951216 667304699 120298487 788279465 842662394 327741758 508091814 638512176 586598344 355129587 185711357 159602398 352025957 386668973 639915470 221558991 370942236 804959535 474461296 518030431 609512698 738791162 359708597 459548386 130010065 544307314 885643767 331010316 858451560 979766093 946157347 819033506 975839101 538747992 625639540 753952453 636557607 908983395 972772534 258731447 108649725 889605084 436288823 736352647 435591310 184854803 592361053 797937842 830798582 537891865 257352206 216610318 502646052 400906099 844549545 959592297 360818636 461134029 724906182 415597697 791431055 666548849 579473557 102108324 285700909 960775442 478579137 900738043 725469868 950416461 567247983 386951773 989982730 937551111 143498222 851371276 350182807 545229021 521399677 512813787 267977012 592951444 327279068 212368974 212511299 717354059 680831149 910934880 133968908 529591366 307267931 739534356 448615573 499178470 478047360 384898192 110602048 318732584 690630762 413933707 691728319 376690587 240969046 438528440 345283311 858072221 210432506 856612940 858119130 520449163 445173430 555155830 680671069 668840464 280258042 123123911 486998682 388000398 495284561 866776694 794672620 333942467 842278014 841610805 726487963 996496797 835299822 720982877 951795495 253197161 168718637 840508966 129891589 211154284 539886733 350120624 449824658 700563098 581729211 589872067 981043955 862673258 828976471 348118421 210858226 706123388 799555792 339154635 824756173 317405650 729869674 767708108 667900789 958278795 328925679 347680960 884878893 496860297 553518759 812734080 880322093 296603359 350953391 715164220 913633998 760999735 875175914 823248817 650137755 890729291 631541748 791020813 590363490 200336203 784868446 745897586 315956897 353683330 934942950 748198582 905406983 493121053 628813127 216750331 312532084 757178124 336063644 247404818 852138416 205308740 324906007 557579857 209256099 823537170 713289065 522641301 881856535 313074290 147964763 243012638 846916262 265275309 578505514 383143002 824524474 917178873 605888145 650764475 496266638 923463560 773059273 121485466 105969020 598639181 672340260 544654949 721396846 217597197 288365799 731375371 260128926 787328327 686887302 455739155 826190840 983807824 228560960 626536816 242426043 691107218 687413357 388320660 265353347 598635918 406382610 290673441 162075401 603134715 266492640 920812628 443739799 107699865 862787211 402301699 296569671 689311784 796287056 384595552 856120350 117463457 539716868 142248847 850122960 803954094 453558684 269683002 108822396 654744003 273492048 559054433 298198474 857280132 808393874 375322872 680309095 295778546 536289105 768303411 388545372 457696682 619541136 187717759 222126500 522394074 691375995 386265792 701810230 313786457 804875536 244778172 633171769 388393421 443345757 232828189 991872296 199774102 420220402 202022185 310616369 480024216 304829797 283567291 131353465 343940793 704624219 213860095 332013765 589087727 771777062 925255755 736931379 669897015 109077710 101714837 808435382 820716271 190886942 850880683 888316628 226078651 346134389 360723887 974531792 861464473 324012655 367969272 327588724 140310037 235533884 587542384 338784917 608454272 824843721 956130256 560062736 440801653 234266290 627634268 214382227 460260695 579647321 726272317 418145640 355800060 722846516 282308636 693935651 327139134 713114981 131602150 358300967 528242241 650663635 182151657 729518937 154370560 489606608 573702026 252553351 324081873 563793117 227277366 475531873 523081640 200899855 574746070 875529444 772773757 188999119 810208969 364351122 150388595 519861345 611682039 501415158 689634873 508106380 585759329 542716803 778758214 476744511 970418911 425522298 227807978 657831232 584173536 113014065 804374049 541737560 454306846 970742174 966108572 294688260 359587557 993735934 416027614 491799707 991753076 231230511 836012472 935425829 257622798 236674555 710845770 653895226 594458762 661828024 308337265 781506651 294475324 941914697 821442788 377150500 809674190 437465025 386312493 305313722 730216517 829564887 558592763 738486740 403030774 202599775 359196771 119095763 988097470 188987417 269929603 611922871 691009436 772168758 248210163 199693786 453483091 710260745 226612364 884689513 101245880 261459211 981841011 170137397 292286085 311800915 201932122 175440023 858121617 567223528 311139980 513030320 287047897 829463117 282137700 474730384 546328306 498025550 219458010 478853744 735675289 472762936 413745534 304861209 852509295 156689161 859128985 906523885 696097698 255279981 774152548 623217025 439944124 734900364 877286162 658213614 931425937 412615822 186871680 612460348 823528576 398073923 871199924 843213533 652396110 848396001 906137557 272852821 628588302 323944504 207263684 666136249 268063828 866955005 181787111 864922111 407157973 198550927 946537325 558071753 132415882 207681008 968698098 940776294 968277441 389036516 256474650 430026773 656931410 305810736 949050943 895562280 643431079 546380668 875150561 998338312 644086300 261145786 560313745 409943958 700942937 213769626 688309288 855752831 486741380 711319107 888452496 858434742 168814193 870891108 444218410 865546639 960822288 646713799 320646730 992920014 420670217 449794115 124154757 237208758 209302910 173700922 623669434 945182181 379753635 712042421 727410328 126137653 559381943 153815183 302775445 477490384 483109266 586748333 123924225 742605775 687332737 811883206 404735375 372794526 838289299 920755434 955382567 478848603 916131150 123425319 354129328 452820214 759337354 560715185 536367852 763393651 629973783 302739960 107017644 918735640 467416773 866895921 767222729 622537026 614098107 808171985 374304850 353939302 654952685 351304731 596081370 512295120 809453855 756182036 791071959 635014880 871067328 700980009 144997964 723669004 791784868 832700714 622697706 173878988 701987202 120842485 816535757 496486925 187932957 917544625 989059405 218140375 576382966 486233572 369235922 437872524 364435913 266464126 788616781 520575148 864071768 609637342 143826979 411526657 474265808 367425553 525424317 880176293 372341882 690203735 825661650 932607589 780379568 206081206 843438861 509574926 724862754 127484991 949435597 201114470 609254504 661891064 917610090 301643642 735826852 578195227 641480193 532530069 974712663 225103499 342075785 144974665 531257298 357984879 292219891 361733134 343935981 510493537 574110851 509136668 752392594 745607071 689088900 307508581 616621243 132275643 280465633 231505699 980683933 222965907 682637932 647077304 348288416 466389253 691760386 459946320 494279797 419215409 744975310 536666630 983764444 681628366 757037356 775926968 149591078 286163830 406137761 889193156 519656580 411978142 477627115 441056553 143654187 262083068 430766022 913347962 143940080 559694420 256145605 671643526 333509048 151760041 420409546 475188495 362933436 430681728 123399467 704069336 813953258 322573701 877712940 570925234 380086648 336174388 700527385 722582136 365090819 418921628 635516943 365018486 988762221 757216152 495110186 670383242 477049506 932763354 438002057 154941446 509774542 492900531 742378987 569947262 808874197 451433135 822496552 210657183 659461738 955440184 193408957 504148448 531986422 744748786 731870649 777861293 655793478 250780667 965090529 918825628 110311672 596545956 189738451 681769889 496759169 334015177 198323543 723206158 577026378 378719141 898280905 761115751 546458090 562192739 939253581 257228934 495282485 872172587 423540124 104488189 182540479 491613440 187573662 631280058 532360537 911329476 311920204 430314004 729053690 140069113 668164556 274885646 943903730 298265788 910309581 891488202 703682622 954123215 380865037 465393772 911425051 470328615 756390534 221082843 272361698 472761392 635300686 833410981 359463867 300300719 639270002 835598065 347613384 778282478 132994102 892009522 348233944 833084774 979021654 936045121 505837330 604938047 335683230 127335660 560153076 176041788 320912044 107124320 310482168 469790453 534254512 731884081 371067533 893032631 532391633 454338804 848343275 368512652 594314128 969797380 635897595 453745030 494084277 437144001 762742560 278290175 915068971 114745099 292292693 115197383 973438094 415886663 736377882 700356224 673809939 614762247 528189891 526437702 288017328 264630755 734307346 273905441 249077199 472750134 653750923 155882159 747348017 859381687 180092727 358715793 900480601 198122550 374546500 549365934 554307796 687371909 199350396 254878111 466612430 299793293 698720502 854682837 735246105 876559419 335931092 156712823 866535632 375816509 679819275 643715867 428295481 791817675 974051710 505765242 374770660 494512157 846114938 648431130 237465117 124320944 781892282 994171037 486662917 368730650 140516920 737962451 177903637 685169349 782662569 248026867 294076269 238247238 622904223 607459972 390319007 381132921 537307481 656851165 621899508 875281065 903362908 859610997 958061976 149864733 288392900 734112619 585843988 251569518 698772385 223294605 969306086 578726635 416191370 864863157 513656259 390300969 498224498 407277799 882611076 468454835 818258626 543682439 990350840 609793587 305436001 720594762 586961142 784237307 982537984 286511882 976897859 666443607 955927194 795223131 638570489 999145261 791882370 940020846 375036981 458042830 495356762 817363775 260587010 324342255 469011750 347036133 675586069 287300995 878857005 504561985 834438827 981943541 601919595 827687510 107107315 217048439 418038338 622632974 738076647 313691777 265789931 352454039 908026898 857874462 532430770 465113563 327837450 423639113 710576418 700756616 457522827 390850722 583838245 383211311 720107670 889688461 577877584 441180483 117147774 387007032 313010497 271774501 498327200 411837285 112052676 739460842 460287735 412834239 353079186 389969889 644983806 572865175 624583802 868199317 256771329 399860619 654189011 424990810 648443336 284313757 952513485 840467743 814843247 605005267 264599053 546361056 921351011 205344038 868061961 610522392 564617123 929662042 449304953 304578429 984378827 372618012 597030327 437895329 774429703 506974475 310584412 999576326 350474969 219926765 603665761 466671534 892851953 954215152 410499801 159882690 658662329 174281763 736979088 183024102 773121917 654164556 202344844 879332728 455932636 940320163 868927024 961273574 437231469 729883823 726179027 154592372 805554371 775764178 378129264 812497529 863020321 722663768 993611328 337630869 328505006 820982793 319858312 528580189 828823088 310979558 142544729 602729105 323816420 436027708 694829965 613596470 172988880 653977023 937065424 636026252 588172520 613772880 848214276 558711367 605741334 208954538 269549127 845745207 291706154 213889198 382989657 197334601 382958370 222290337 270823837 653348969 677961785 376999323 672429775 212158947 645813025 355954988 954706554 211762463 724213423 666166517 521442652 528742944 226460574 661546628 674612748 660269201 267933421 690289968 504701061 841455003 544502257 296939457 955741319 199790195 139863474 859304699 342695695 139435006 951240270 788143907 152838205 106873262 670092107 895966567 634732492 232702007 445628602 918327074 608984699 181690074 908271600 276961180 671179195 509255765 413607176 181039698 805825697 165944395 386295662 709079237 592076045 256573469 141179170 271112258 546280710 614299431 202376451 558196942 760912628 656649409 808384603 834342603 272274010 781915784 979878835 690728536 222686622 869794065 333856307 448711458 337038961 300118014 177949153 761069330 658384626 835745005 748018151 500887591 502490183 891280614 345002529 465260321 786781565 121910673 617816268 450762870 423758461 840882718 829414124 416846461 613721856 177335019 482413312 677824846 991121889 354981679 118718093 223606143 168565709 989109195 794951691 904762112 907540100 440980363 611700038 464705760 645340059 942457624 542348128 760234932 452387773 564985127 473730112 671250091 661113123 734827203 907590613 902672004 778572274 839498372 926463150 602317110 319484204 810183281 318903997 468128888 669903352 608083479 780168299 534872003 601923571 192280176 965524963 911364214 245524443 483733260 336706682 958247445 592761537 483736624 718826916 615235465 894414403 462912104 173642920 895791921 312279966 717149169 859259356 785143015 772611964 257120998 398028458 328747745 570872108 641741180 356283702 210712643 513820294 799444712 914091584 610258876 479942220 611156146 717217637 858685572 765241756 711367959 669588951 844597584 497076636 460199392 724827693 556276271 632672439 854790539 571794055 278045865 471182439 353280500 807678075 429792795 503590928 352582266 490383227 332428841 786081962 220511334 465874585 682738168 681450251 125438189 469271469 695062582 729621614 572043810 745911968 330172400 284127728 947878987 211244879 824408509 114557204 584470623 676228302 653693887 387890079 493843420 997254754 190301584 672183117 765796928 743745267 989136442 421059656 146899172 976356931 934033702 523113148 691703114 733046132 908719426 996770011 813421320 173412738 135661178 225001345 435708371 930547126 886228844 524629874 559408547 609968659 855221712 811693255 816323002 542056954 258797332 730064855 315843605 820067033 336521493 656025729 647799332 701221368 299350376 788359513 559804249 168992129 394389956 438291286 807321997 832561844 542280367 781911344 932898404 854802540 866552968 579749537 668548814 361110399 691486528 302190746 830773790 660121525 789149524 583189920 919824619 685475837 583987469 781135335 309705218 174568979 755764247 648945478 155884053 998755188 199140666 804117843 629805510 792060116 696015887 631946073 855062261 330965360 151042384 336610690 699147598 142091692 952225074 975160510 367904961 885010275 552363972 166609271 348858063 800228796 151042911 358150032 265152049 859317963 819703876 865000951 125125037 789107693 263367251 893129187 270037461 751517075 759654869 725796829 512733192 399476647 924881195 745339471 165741311 652687447 226999254 433358237 555389525 183201280 650130974 775629029 936309253 634718235 209035128 820669114 433771749 915104073 440872133 175808564 528753951 224185427 106856471 872587054 484638125 140386555 583463326 254819314 126141701 201957370 532344037 442762861 747919799 810139741 683763593 204342696 516579936 721590724 756433393 728246414 240736375 735487429 537111553 848483919 433159899 847775735 740038018 633958779 429177581 121503184 310315146 725464267 689405203 816821863 814514299 171253666 613668244 688937121 194370205 145534407 147951211 443505847 928098595 271119040 379632190 138236547 225539218 388922669 432778200 337868307 202273239 516206708 592840756 360964251 661104656 624407284 463344552 552173482 576751790 192145120 116451990 259833567 934592614 395049713 230648696 865555668 278310744 137187115 631349583 272624985 991752344 856162387 885080058 517957931 668241688 343075237 898060658 865310956 250615375 987233826 449807799 503764175 706206623 569776213 276785682 613714113 608653534 130886347 543984155 605386183 267671637 575492429 782125081 941824725 270405368 865319669 392658161 609825275 724252425 648984425 127074108 939466648 820114841 605999570 546835191 919769539 346987540 764972241 204144025 649990741 785587386 603088038 634293064 698094127 442798114 375306682 476842283 601084176 315529006 938637616 711286086 875822180 536323489 666671709 983194779 938684810 206059201 585585533 298740434 227589162 424123890 639449548 272968653 954232660 361855037 505183473 178608718 752455397 800287450 264766128 391269294 874065903 290387348 924041492 980429205 245780625 371525207 312064803 191233894 468718977 597008096 227632653 647752576 190820542 405205203 549061195 583544834 117225761 129118341 440362474 165312595 661086379 240253075 451094790 585371577 559604007 127292205 478595724 721700430 988593076 352741127 376041684 805413433 569691622 989268924 650896800 863437254 586991650 126950370 524872765 145227164 320669576 160873872 993986812 895269116 389007529 814542660 296702998 126669365 917505577 147437049 633267937 890043929 768307040 293735931 801233301 602807120 315726026 128648447 150703893 837382130 232456577 550011173 187398131 804810820 578286530 585267000 952271144 713096961 905488651 950653818 156711606 354120497 923453905 123322193 159378019 784214235 414036941 358297214 386598675 638341797 940106264 308764215 940472008 191679907 282779253 273147192 572682027 898238051 614069558 445641084 839994387 555452187 100600093 701904262 200949603 707651947 993183195 503625578 748355114 198600545 738952290 767831957 791093466 967733970 895897605 368458486 217515576 804285385 909585939 684270859 381632312 383038716 617263498 351621797 572087397 450512097 906226500 900010498 331558974 426394872 208820802 590124361 914820582 441316055 968567745 879107770 104496734 232346252 372783120 339208198 460420712 142796145 689477752 817229318 417238863 786102553 960489601 815778764 620252137 128226611 390586880 289026283 583199831 974019207 338028571 202024065 612101082 511770619 496971421 545296372 427325342 966673612 850523911 264370943 802108120 430268422 506110896 353516439 447126110 432500379 450732788 772384610 594607628 674090814 643140175 627010764 912405852 594250001 681693300 324611377 448489805 760944215 745633529 825402426 895580622 579726394 719048643 170099317 443332762 981481279 307538181 641012459 484593518 914656341 806679187 794691643 355646146 131704049 868887506 289210072 828857670 728595498 798580017 176528922 272026635 510425648 448392355 473786603 900410571 793805932 967279848 688762434 266139650 738375645 174086994 898537598 240483882 920670009 953035493 161181011 590021525 149684096 573128312 286985481 728781651 999396532 680537465 961000553 337251377 368083227 456941626 161823623 275795258 585228077 612787310 275370502 573010431 324797015 235602738 264243744 433230161 945943770 537661303 438203029 631693734 408425438 971006133 572281974 897459269 306473079 293818186 559986379 431992657 170366578 951878096 946627118 667407333 693967345 793016031 972320474 142419980 834574475 777309560 100677711 190238600 286601692 558737285 251694683 263763719 788897951 225676816 631400623 304578343 243232067 322163756 470146182 908791604 635692545 173215839 156258365 682765378 645951254 918008589 987450831 806533745 921490606 529635098 260228569 636698731 895140334 287597427 414200685 197415496 497309427 880789143 533761151 820074906 385051441 306970039 932933694 525865323 377797988 794584721 117817742 236092151 446436672 861311272 461248379 698748882 610224832 507007637 658017972 571927753 712776368 456972422 340338426 629872384 823330639 348947578 407398833 851489465 816457934 145795462 300161892 754275577 953851264 902890536 708904897 894895782 273880724 825658931 732818134 755377034 492251168 454818218 385371338 477011937 391251604 595788106 384314618 950674871 648039429 303562822 375959600 856575179 246692897 507718808 853136416 868129797 437659205 203049368 470059615 586709291 362153218 599940724 291195943 153774009 179022167 719533779 769786560 342684070 240092647 255208257 929657000 428777254 214528673 472623087 224453189 250832671 933964090 196164385 171652763 539367575 445620500 446725112 763829021 875860543 463372839 849324300 346151742 641699568 185636223 462471593 247112051 170716631 709708077 877739776 751894077 152624556 959858808 530262115 731361078 761985449 394587447 374362938 310267359 694005274 253235363 139839580 691285507 882425686 775661242 184055428 581002608 934820236 807504497 176734360 143042784 725625063 754429608 165888697 706433348 496550655 177639627 231797750 733355472 324903571 217145204 987419957 142028586 212055420 484500609 196563218 819810544 914157955 385834784 317445544 893997640 660732730 656879886 118953369 989579521 869226772 817234281 689388647 881021916 157508344 555887812 815113850 796280772 817737221 788410058 509079184 880813654 971475812 931980414 656216646 767104888 934143034 153635172 549944965 548620589 838110357 396028888 959485753 757314062 116500143 500878489 248253202 427810119 639079947 197472979 333963781 470620552 117220784 104065452 237813809 698187718 634000611 828365184 969229730 373951569 924934835 421600030 725293117 638601392 863536160 830246217 601440171 492055407 900765669 169558604 395050797 770210781 959431482 561296348 783819039 515893146 408888182 555047871 295846072 427403192 915238165 974758404 434839337 950227625 119817473 607021514 525068921 651506374 194508496 983230872 711435045 823462875 339338266 299842097 692312397 467377600 467391552 127530323 286622335 510336698 675848426 385649021 477537487 121385990 149330920 607290402 534245383 703384133 769035689 726711523 829646811 641648716 704835111 436242762 990287353 525139222 357880892 491577964 902012802 720748259 205988659 210413828 829372438 808506810 222774101 540247926 853777156 133310777 941947706 271720565 790687775 144726803 368623305 282459619 352348478 315847371 163239880 333355686 369120596 564578806 348485689 387976535 263031943 570030628 837896410 676842615 365406244 900764544 752615964 870894466 795111067 967584226 177102884 310412779 814357872 640608515 608304536 605097964 983381350 199084552 322522166 817181652 164671060 199116993 402580060 520528092 911818926 845424007 856950146 710372205 979396512 267923045 156848468 180629190 598584475 453493028 400566353 175115491 486913901 941318332 650050866 124539933 296573475 728634438 609073681 326187945 104372434 809302602 854758044 258417689 367395348 830709783 359196553 999153947 786094095 401697818 118639690 970454477 698361719 570828844 340685809 224753478 391363858 586177218 119126926 155697030 932887822 141856475 626681402 234792692 247587549 892190014 968164661 501967100 187871772 992790352 903398727 374424067 804643162 489621277 366532866 488624992 127397293 308840125 351867872 661331372 881819737 891036390 853765661 427307034 200628377 729388645 802028069 529952629 404372214 883464226 992151535 808302159 274614028 217240008 723190276 237310989 352841194 647454843 172030493 987357711 637664255 639253150 647630651 260323150 666213205 832735357 770214738 952385983 855123633 798453809 931240115 584140078 388188137 443715419 586776749 743077784 340582646 828554442 327789862 937755766 629627573 138946080 918774335 928491286 526055515 740144056 709399519 741082904 546122043 612953614 887992448 455425024 597018728 596204792 614505963 644545339 468217201 163027564 927768273 351895937 476664703 393020488 461301632 326688241 207996257 961236226 601034413 945672193 485585239 802756017 485476434 354241038 950797646 272653724 367942920 448432637 109377350 312407881 750180813 834000973 204711960 604825773 150568726 372313692 950418672 986256842 685708315 668515973 466604601 186109876 165482633 652745837 119889194 722587952 371092717 230984260 886558057 674772420 342698737 555064032 815686003 494568741 673078024 584690258 360054904 805218294 652462914 739088764 435329066 395374442 615319943 317637335 746894428 631616900 343693403 726964957 238527422 142858993 185921614 529431028 569004640 614989999 275572973 590296496 888677731 204561073 516095585 396083651 559721662 698323850 937672531 303110790 964003552 850349836 569508467 191258174 425715455 592563792 893132423 394920600 348524700 375979180 396101461 607043230 664187511 597018809 482920622 458005790 906062994 839447217 857746099 425767069 721056309 688979853 366781458 136769123 706763172 621941669 834816095 935012017 945476573 459459555 335862216 464457252 326279949 380825477 623556480 344703003 598013764 553540749 402755456 797986340 954268923 951964115 646428178 957488442 242882709 744370383 584961248 959501661 802906893 410158757 281756389 288472208 775514385 228855753 681902572 781630186 477592302 748495017 758644084 628332217 784560435 807526736 623538110 779804232 493096292 596262493 546963612 951133216 712796213 193727748 627014200 346936300 335542183 492108197 685410764 696557390 690042665 857119479 880532204 334633235 443945726 375050641 552243293 676076914 372720971 223669275 611154320 436288610 109138370 875038603 957920783 907854899 156126725 904059977 878763793 881330550 944733523 841864498 169249643 245202291 775585606 328381777 125405946 961722864 193023606 912578543 486635625 783363024 594198607 249067035 386171319 756459540 640825149 373257777 371282586 237328402 291858883 779672170 147310177 938917956 249801784 819582579 361138335 638500555 849373507 258908274 107816867 773421911 510076086 419801679 694735843 322237620 895121575 981103644 295437849 360267406 147327415 296073396 530677333 665080222 603676002 665555216 974447314 193676597 811769164 447124062 373700834 811262100 615975659 771449378 546365529 841300976 920156726 578333158 753335145 587261335 450117921 685764703 381313224 205764931 650681095 921852422 859748056 270593860 319753020 100553061 896203210 242690005 920113220 854178298 235453892 145498868 603969518 106285444 317157775 385375654 946706301 946267300 665335490 457361591 657624511 885085002 455128382 257843103 806589322 259893548 170858091 841117789 691091552 399134839 933675325 612889139 885932922 326618950 674469775 916601771 818650583 964972501 433794463 178014351 235973036 183738862 975089594 275206822 517724032 535845736 957817349 838085464 986443765 424530242 527044155 672629561 505658864 376606222 580848161 495056365 870635228 976977912 554391438 310503396 740094311 403194029 429147943 846649930 867773177 930644426 150298370 535588174 658532814 421688129 213595812 361233062 655016361 848621550 435406404 200837884 953115903 203774218 931970356 447825734 442427185 714575489 939069109 756250477 340458487 227969200 816805572 756381552 365403669 469721153 652681392 257259310 108825572 358532126 917928300 461513832 561386654 704164362 221217936 353010318 979397042 693634517 483433700 848160979 638003703 612025965 459152916 431947959 670084912 724064482 429264162 472712115 896117655 807360716 982292050 160787421 591892512 390754272 857684665 507349988 608483499 381945357 951127713 672962767 532075710 866005483 447825581 554729206 264399956 374928489 290083790 368295765 257349976 146773635 263360920 570559929 446357718 655475437 388675802 529044785 960436320 770092992 116039998 341114069 219854542 720974633 640090110 334336256 481333132 460381324 220578879 154793269 957756167 265064972 333622579 154177054 969246326 960546594 442522758 750508436 920141379 373061032 182569254 852468573 470622561 813995888 588080856 887669545 214607644 187068845 301909072 352234627 459117277 440927668 593576171 331947591 170473592 940953614 385695026 662482763 972684548 860138720 573083556 551163633 178820181 241533314 334825840 743073797 182339230 402426478 439602206 121170859 527223014 517260258 916335514 902212871 928651514 559884071 811917449 296748200 284625820 802733721 198061718 246175520 508018191 249221741 206306988 716582148 879147764 696428551 359611850 428209957 575138573 523086407 262089203 804388837 544388228 296780972 572910701 123738964 938679237 314080507 260643465 202346941 867826694 620876979 840229664 161182684 828477652 264280684 716315252 705460906 548879447 902642128 585458583 689073360 147844539 468217224 188798000 462018741 727906344 558278455 411234838 895740921 779554349 638577689 305819317 474782140 631281145 744940506 756095700 553832815 784596655 234939272 974063008 677689684 258794954 840130626 517826465 576343702 381826583 232041498 852039211 375371013 194006288 136163077 216928345 793182165 791634254 203338076 630626772 475075044 553094023 727620922 337107565 268921585 592612758 779806117 404771018 377209451 135649398 138260662 659581706 967829966 695445322 824505345 114436014 439023776 159436739 601521145 961144793 844097242 618802262 664913421 310243189 927700330 349548031 896945026 333076252 205329816 702257641 212406123 736876851 327695151 757944691 382812920 348528084 771555385 245654908 553081770 731851503 991096582 540497036 365405009 544526998 476581723 345454945 141244624 872123703 116423441 287217859 665492597 219294153 876759498 540580116 770185007 649599069 826733106 614427011 579889923 510392540 527521722 689995239 762961817 334105940 426325688 117143574 794307360 758656226 537184846 116016617 144405921 413848661 464597241 605390227 189859842 657393293 443014937 968540780 391406372 230348260 385656817 892715412 232987985 485403578 963334741 700968912 911230928 304495588 962690791 673105638 101094475 505350893 242003352 630748307 562894964 271927263 828684669 196434597 939079941 955877698 858781099 911905911 972954303 177376223 288545609 156390236 122343043 853227292 275835884 763456993 475340619 859503474 859858868 844286262 468779124 337596073 176705121 776579699 669620917 123058582 380879288 477494976 860959984 264910223 866267144 958135079 355372146 689065463 139503708 530018125 545754034 465775275 495247613 609561864 246990949 883049141 473836771 983172357 705708929 834165319 930841564 877868530 410705766 876361352 557063488 473928284 606442078 796316661 639885480 737119695 624003761 929606559 712612615 959284017 403669031 923317898 535098851 197248262 857254666 938200153 269936237 384349634 572174556 788061384 994322142 857159869 621181621 416795172 940549471 889800284 290810416 363375682 210858849 789067166 274579002 957311032 416313734 566632144 869785673 503290311 611458289 328381163 883499894 118102786 544317043 986235823 913667551 946360577 151754297 109456078 966369572 840753839 848370404 869286514 621062827 464308230 573091195 248025162 641715991 453877120 561577483 776298024 770627903 114831281 751131930 253540641 982472604 305352627 796215901 613176610 851837662 914527830 100298819 215370907 290645862 614638305 308497870 163248829 789890245 219581926 867251209 775383773 822436132 752822868 131466425 793301228 530033544 832733025 926619580 423712370 278008633 733903731 592462937 303042503 530618484 749268502 316130113 465656523 747820663 589325401 796431859 603786812 905251262 483490777 215332239 631971543 652032404 804156752 396658040 304576839 266580464 887949643 561015983 190113797 636845374 332408452 894012932 770044293 636850497 203338507 300677646 442635217 243760735 753945112 295623078 878570739 801773103 931385879 276826075 844361661 633553652 926349141 317451366 165005701 429078546 459578958 311657576 327202345 224249427 202276555 384013965 275977713 920887861 833182018 275984216 324035647 422564578 790975719 865477261 749496962 371344901 613424407 350348517 361014381 817492602 208242619 981451571 775025762 962118593 545715260 534291223 706237940 485972718 418774141 437992582 289406992 516537625 511207608 970196303 374169957 756490869 830064659 732276684 809195889 567000195 963015816 344613907 630489134 625019887 631591555 888939314 107058397 718392920 656984689 267810355 359244691 882533643 318177252 298042533 211003151 291775669 347192705 612798304 978191001 853373479 497463977 773571827 286838519 622381439 626196243 458465530 206613221 314483149 107990393 366695614 959935434 414417478 399047154 252280873 667455622 629214940 499757422 309171501 963906703 866019516 937563997 555315486 448078580 947582308 411514968 628477362 783674469 563946664 151417208 506302119 964270736 869521170 732756213 979793862 722621204 255233080 547288944 993227113 865460530 116954252 226392731 160709724 699933534 470669295 756660195 258231817 672627369 850279750 167667298 940058622 658610281 547042582 527025424 754075731 351178797 345231852 429866571 522434451 567081314 242612873 113139655 123870072 777764603 296334915 302182487 742043125 108327841 445780315 198909311 876069862 248194591 481971212 203379474 511367276 440807652 520922339 385949621 312061349 111088027 344419490 298559239 933749527 736466893 419750733 714199971 134340507 995378023 450152582 537026207 141524911 486521289 318888727 390155448 955190651 157242142 661242775 450276414 274467538 937703888 239460307 536199487 335855754 437933976 379709876 142152601 416189761 536920668 433352764 871852235 244119398 809294593 493327599 933727830 942218574 337038870 754115578 482682085 945615554 487472629 956760554 802370772 863361069 899842561 751735324 147782732 803560874 962593610 981215080 315583102 587161218 901407224 347555158 669873743 940341165 279962269 830743493 877262649 205674957 438420715 149268026 231254947 428430300 753533880 386418210 618093972 935641306 237748894 449699319 288849648 335357890 615273948 988060636 426297390 238958445 980692690 666331121 377011745 433918964 672046720 630387788 958269952 304176055 926858584 872550061 197404864 975376561 199918479 509965293 392398621 923192722 846334767 354353339 972415815 488225779 982018788 577698031 744201160 979879757 207289323 607495138 158687284 501949065 396960296 208194768 193354506 558399321 575752715 834320911 396605366 447018680 442626918 292013881 109267860 306643948 114314715 197911119 872069053 563139834 301659584 205718471 580215977 733050728 431859409 331186875 550607802 857760961 623678503 247141703 575507065 260240243 698065155 695506857 773216735 637827419 911121939 897957426 334909177 909759243 438861447 148126027 544981851 164215478 724173612 515195579 733559877 361679523 521985756 894415735 536886822 659986929 624232702 544298493 448481723 872948537 722199065 631688778 377517507 423425719 635998038 391590086 337952389 455505351 204286659 629928505 167975194 777778028 573654341 120048640 238086852 213049807 930412593 401265387 856702946 461307112 372505212 395552088 682354262 736409182 768458820 156150018 510667385 995542248 123813797 933536058 702787758 801102439 963571756 941979967 188955192 283282494 804649829 700120679 332083965 621779453 811296668 328280879 271150460 388185070 747322894 300824736 185930147 963221321 777845142 559489717 448875022 732839564 467741841 183481462 785089492 485786430 685241435 817253994 161484992 376784538 857045949 931490722 910056611 544869371 553544260 395164888 738329652 255980538 440999541 772863957 340924285 342837057 993298134 615826714 394994698 539382244 492190575 784283381 555546970 647804892 615374221 776403613 608151500 334056835 623163895 117156286 299329131 517773736 892819038 960377786 190445123 757782449 593246362 402100127 545200096 580068869 114552184 331185039 925576482 858944671 692251986 588963410 269536350 958159638 833588234 353471641 388608823 454194575 938429189 688201875 272541700 191117653 868918797 818479667 319396505 476982517 617906646 172671229 335618115 304841500 491181879 839662090 105510219 347610567 422082463 286905481 687575825 483813964 916895939 691749074 215868542 641250504 919552315 844042812 354894042 150513784 148973994 489922629 641799370 348091729 895282797 738817100 419677624 667598383 796935587 707423462 422042145 709599402 184485415 971803120 522170972 725466272 975041126 644626213 247905240 609554992 828271757 782832473 221525756 424724276 460048033 582464520 426658545 328540468 864317464 682488397 584867244 506561983 163564331 806687917 499879397 101036634 396337728 229618833 932772335 335597901 708719000 709931305 188353022 796007196 184506359 848082352 642924870 321372992 787125956 802568818 503550035 979920513 887191647 651523393 775472062 904865771 381277161 428708777 278586618 817915557 360086409 670970829 707742817 781932240 531983111 263201895 322535751 455753103 154982955 201772965 331015538 425900551 616879853 346682985 128253861 714629898 925284826 438252280 305259701 982847684 681493181 658379816 975208167 459825790 911284405 191636460 901499110 255822287 378042889 123765771 658462415 858429710 158894708 808218853 948078369 307948961 365112293 977502899 142067615 283716022 556975324 410325203 139330042 689786998 562579372 832875500 488927418 184493622 611118831 467745225 812975318 843963177 195430647 153678925 746624061 597579021 163519636 549801947 531925151 234892021 663914969 393936643 632566033 983687698 274568203 620672945 180545375 533817237 381599892 398899308 151723793 454048445 636102826 725481362 187568091 342288763 984308606 184183945 471985717 134340785 502546774 906464011 671618257 843454487 353377934 433747334 241851889 588637173 766946265 568062740 924758404 110267912 113476548 587109628 105423140 116677326 781933161 226892535 321821966 705911975 212269723 467690783 754978910 787445516 391464484 589948208 642211544 198983049 897002315 255294392 126932184 777755118 506779514 324787954 624229163 540901099 875782223 791409860 182081824 615342293 352702356 730131490 466388838 669677229 510833091 762208557 940793633 418291170 406606911 898706927 720260408 339332714 977618631 526992970 597308338 203738170 232211137 367508972 599809260 786673335 124763698 422979431 333031863 622986415 388110893 437010797 197756915 181432498 779466178 841769513 220908442 923995399 448189083 981289939 365891456 579572685 346843521 723882844 334441813 740629128 749066765 955092533 188113611 304603156 434865588 949884799 522076498 794844824 470764845 715811732 170528895 406173468 309825143 796014181 666784279 399605193 226951007 978203761 584172480 401495635 491865940 837472798 773238912 902576257 855348855 412629552 199980594 515105420 570383662 720918339 292862529 761901932 159270458 212055824 600918638 139936536 637596288 760949207 686387936 118832013 751635824 516393472 338321553 310414331 803808712 393568526 282690591 725311255 782941503 976746660 475991898 737751769 511164762 804984469 256796675 679948962 598128729 929421201 683629556 796430762 776238200 368107379 571548631 744417016 286337510 372680421 243995608 654136345 905697591 820404248 268926727 326745980 158636913 438129283 716555516 288184490 541009046 612860608 301583522 258200776 671841482 445562854 430390654 264941543 807334231 952918766 396969154 988034705 621715097 383404683 649150811 447774392 207140098 100845160 479706372 347394961 623699650 432818718 611903264 204081636 148947424 763020136 947025786 609001248 296405282 492868864 195360959 528241797 860675833 859877001 364329611 348404691 990659330 260032474 107004854 387405514 266720893 422686063 325295241 618377984 243827243 865218888 459078151 118191096 932799703 619885147 782845011 724867633 688629022 398580715 499882857 497178852 592757927 956737411 212293488 388086312 756529497 826426940 403875793 929841604 136105386 731398088 123989291 528760718 570478139 860495345 878963994 423069324 785776572 428921717 607198364 683593150 963668054 273821638 134470908 561210650 792555225 285892330 963300910 984614731 219339722 242901122 517209277 916519194 422721906 297392669 527901553 495974196 753704791 907071046 711093430 424962678 634152939 218177020 950295119 399779339 401238135 454224684 979233017 663942255 889655723 377658270 924550120 571176097 758584009 665204865 923604796 385066588 779883451 865301710 759680108 352734325 330455523 115240951 544231706 553975596 487847457 859926337 201949145 130773455 634122658 913480089 459015441 146572897 328777197 942773777 736183751 193949730 699632797 351956436 111994497 527528469 798404527 304376611 422431109 654174830 585605499 794273222 498079024 639652997 903279701 614833572 274256190 974043637 311313969 766334359 948756607 377622610 697432368 203622708 359122645 758576042 553888639 144565522 413100189 169129262 374547690 801892722 576284902 369668092 135093839 779202155 624226298 536730161 259553306 263084999 941295429 559373048 377380586 260804742 848671542 970682922 178079433 426947694 277533301 309223502 391472085 276164340 608208810 589171203 537118668 310874622 503168611 727468956 738564724 789577263 514066405 778323493 797680816 981331320 195961838 598706271 853872857 205090597 974022932 643340737 289070010 855130528 480730985 657380982 617726052 344018559 238806790 177928806 802508395 251166984 166796827 692202972 244070617 358506674 597397649 950777566 664564470 583560640 819198692 358114132 948767212 403798974 606210142 617440478 500569156 788279705 130903404 133873476 170146740 994668513 335545452 138969944 925707486 500425508 480947502 574256626 306916010 610928912 731809761 408162671 296001160 151597948 106354262 418341427 906771594 806381434 753217907 593253896 456520506 815836120 275321196 669404904 450977081 505020085 659738337 105951057 598560803 865066840 489913578 585593767 328082802 331983297 140178427 343236036 976540782 632886705 669061023 822683972 734954766 145054431 746275107 868030115 364360139 742149903 323315699 216185066 258756460 138859441 564416793 183488276 725458524 167724539 717535612 219445035 620367665 408941965 361955437 281940828 808564819 893542024 538809969 745753286 470435677 231296382 705540301 864713206 347353433 165149107 853302361 278293218 966968832 157526666 582971797 879007017 845484508 344082871 839626017 759709500 468783417 778988235 562661006 911421551 262341345 982476717 165605228 898631245 395691175 669419805 710027456 338178736 583175534 985236899 252699067 898026801 296028625 341138124 667301180 220145734 683491455 391692905 641483036 255828607 106064965 859613850 327507460 629432138 333441819 976281817 700840760 124152384 126863734 249922028 231231979 199685102 477311745 717423285 588923891 785004136 216609093 953825682 781688364 795191030 800757912 876407772 561891267 482812347 323245667 361379630 929526594 871711782 179669902 602781273 729345287 431965577 734907712 651697732 479511232 847693305 788895921 692224818 127939764 860649378 668258620 640404577 901574543 776627293 713369322 183941921 161301231 849674328 439043268 864262669 343551161 913269373 908157361 892208355 810411374 278464575 977781200 324779120 523659676 463336506 499969796 294997745 441913361 265669902 980478794 866327337 144883279 860817242 520162374 710967857 140244605 774952121 797046335 596592666 601904444 645617513 584781181 754249350 858961104 636233862 648445825 437742052 769386840 234899651 301445918 756103981 894126411 913524621 541760234 241594987 161143114 362162841 367064949 354538855 387340801 476069873 651824505 151436848 947125003 912223895 902975554 771965641 419675320 966009505 316299464 443447151 412669608 941073138 811239045 728433467 186987294 149182848 324473778 125556371 416337843 817349817 303511622 207924238 446797351 857292641 438034704 473344931 816838641 297242302 560885510 715046731 247485753 129443208 978825839 185858138 487391460 823070792 145997052 753236457 316192045 846948176 394668228 810582856 691895482 706249603 582259205 930830536 721136439 993705945 385181426 844986285 636584932 309224587 340220878 984560834 247561773 480805375 828150880 883654288 721184418 135508488 115632008 926906687 684086193 736117002 464317763 730341552 871368586 975504632 467566595 570374305 347729595 121637282 799312255 481200834 670935392 507004836 677444063 916215904 383130922 926591850 648563611 599384173 961724700 287637106 858618899 461703869 944215417 690524367 332224042 954277682 105254222 137844201 792826461 622113372 475832167 311088530 846820344 175265538 706932266 263114500 672478417 509085643 646726496 599433708 958177424 530758205 480264775 816999732 284662485 745224643 910389849 308730224 513279125 777176233 939949384 920114409 809327340 200790649 865378137 263324251 176229413 560285173 356061851 238984601 536862195 426961380 467978668 534072224 143418323 555602753 522063194 385451442 436043076 521447005 518972166 987670674 945255580 459599728 270367660 204298185 706038945 532804789 746769477 468474288 317439458 249814392 386397975 997839438 395389887 526419805 275496239 607245874 802914473 350128716 669030693 356289089 464732466 730364722 557089941 299328826 650475720 715307196 217937810 860498191 344908640 112698477 836256052 334321029 778539223 387813160 644519824 561934000 964067612 974790793 102256200 796777089 300304433 407631388 597827515 741747826 230609410 156999420 208341834 247736894 603166042 206456416 698991662 907251106 794837350 775690357 708455248 885750346 503514895 223804851 188045715 378478184 124039195 618573039 577362171 907289089 831647327 538636814 721560957 747592536 293329084 425826774 780183128 304318835 794820011 874470197 320340519 472999722 649234948 703871383 153037143 874033005 196000113 615664677 768461461 510482794 883209296 717011407 793161117 359770817 560554831 556681505 555356752 927145230 966367547 214122227 695205302 721526903 822440847 546933134 862442560 374265340 548882682 109262460 964741633 807780311 108718533 645440463 976598871 173710131 979845882 920610438 936024207 408299555 673824501 384620633 701264193 939279483 713161417 313218878 214469458 424971026 152651019 848228071 117050861 647870703 946953791 510450087 983338465 271130359 946780222 596054699 111344745 164680521 357272610 336540670 718029116 809379226 989892131 812439087 509391274 189617851 530978442 234622994 773716964 255565588 145575691 127213787 951666691 828462779 443202475 846767714 554129506 751677332 203665253 260860429 484340188 483064910 190998329 198041561 171007181 371902981 634943776 749901949 460906412 237650910 445876810 147738391 550883038 265767319 659444069 479774959 405016994 304711374 313058780 790687233 704870111 840668355 365780305 754290884 653547153 925190537 200470697 771668423 204991195 656036412 426171956 660173277 603237947 986897844 484968587 562047877 603652012 561254921 951259334 377068737 680998437 381532195 147793024 578626328 299348951 429960065 625111055 231575233 190356381 597078921 345784322 805060425 698663029 232574914 553254635 152142973 707644780 343472016 148474823 153843862 761131590 654051404 275353864 162228280 898210682 612255977 496840467 571834543 848377630 619532860 834698258 401129546 932801040 594827816 778859707 500007421 685099716 905861878 674402315 555574127 515920873 634014581 971094492 326772198 705674956 989912173 634815339 129800933 792368102 529349741 814653814 106023589 646161783 408082701 557628802 521051020 858821240 671108509 362088956 528741173 387652126 272574029 892271791 538303767 295576121 532105874 921962364 575913538 378706767 833212008 111284078 324414754 878535959 676715532 105120212 127032876 344258687 823648789 699756326 680800396 370826050 325829473 134811088 120313422 832823336 433212040 381890341 437935674 941217999 401638089 462465356 586274627 950011693 577735088 549241632 583797599 889706981 764008626 517672687 573850806 321277560 469274141 323329393 674869786 495428832 381623444 166324811 489996758 895707058 875897952 185722479 560745570 576023850 219133796 626040670 429832721 395355668 509240566 290643087 720225606 303525536 662732964 994888913 813792691 530026532 643168285 668605031 108757775 958902510 282081994 219838546 706695615 285448642 894362024 656807547 247357087 935873705 897711311 897185212 499892266 640227498 938884298 459175810 789784737 571020318 586156284 998210656 251421431 903103221 392113064 658815918 129776649 531771169 312807134 757634437 911215611 793115761 741391566 414447264 645510388 754831970 297943672 816868262 630973176 725639961 416691750 640773067 897257988 169667023 778339162 643108816 785565636 712573079 759636466 309056402 213075096 167828192 926343183 924987999 108019268 439133782 912719257 657570693 870830885 361003223 196083810 206403999 692912670 367595267 220356053 681420095 358902183 949597502 567040909 743129286 880966302 910431077 998110286 907521579 993345525 449171928 682747877 146196638 533600330 844252338 951266281 732630678 899051277 931009080 278601934 944430843 606351807 282677174 525924676 285213098 814042615 643757429 995049481 888563449 176801289 137426338 176727050 792319629 929161702 902893088 247961201 696302838 609633316 454962827 496554395 855460577 595829973 180678823 879052043 248597499 906970948 626094387 340300663 570239740 211856955 484130680 592241969 173827778 362762993 455185308 472142153 488738848 933952993 790202967 816011124 309728415 189566995 435089247 178219488 248045011 815176005 912460542 789381741 729100640 280077478 860624439 736724146 539296974 189611789 995935525 717815696 828910507 805735212 566759427 117019924 603590736 722810138 729662418 617993447 771508406 939813834 520246684 855079045 263822034 152043765 730849916 402391674 528842226 320882957 821511946 704681840 664334890 210564255 403003327 305204457 436351237 225492664 578953493 525422072 196853185 771666322 661535937 117946217 252834482 156694186 924281875 635217102 661412013 108447216 715520399 652958785 893945118 997305882 856012549 561423032 289081770 684626721 387994618 559445843 542138225 518115648 581698168 934000040 767469378 252320881 852958896 154571396 638929512 505331772 476835986 348969604 845113107 432722485 767504550 457369045 308744722 961264325 393674063 653573909 306853340 194085858 806492688 121117091 366902838 190519621 223712577 212223244 784983152 259209363 446635813 883379940 747672036 791419855 903830397 689416667 397257457 527665137 239598033 956158374 661980147 252432466 462422815 567589682 769431561 224489202 620384429 916659046 567681600 669213840 106272270 399742211 128868667 134869577 282981367 935751502 649851712 457292634 487753105 181849830 948929622 470870385 682482358 568691373 685092573 334334114 303991152 331193806 802012707 417563825 202273342 280157120 415715782 139699892 170111269 651604950 202104460 757257928 985701614 872469746 939507057 197917891 749537520 821857459 827238656 183391100 801536671 900533332 152860113 889093594 371789701 557062809 386999535 823062651 278612631 576447078 607485203 599405702 654489984 803205998 439961315 808209304 224326933 358738791 281427711 370248609 247302916 687088344 242600234 125243407 508971162 471333527 972329152 411477058 427243002 314215223 313292626 721413430 204490185 371123701 220788769 366570785 872689623 758349327 842803261 446382025 689160101 170239881 128553146 601409755 550847276 133465960 931955292 908230968 781590193 128812091 687179268 302997910 651451362 937574235 548573093 675891303 823658825 649456957 961085979 979131139 458695153 272614774 978630406 293466804 356428510 795793118 782004035 258920988 974718709 881516702 300226052 782009715 460179722 761259603 639028786 580907991 814508801 579991302 577629199 357041908 650280737 138180306 215194538 320305232 547988619 822644109 273470770 451896471 823339904 318964081 458936995 800497722 332785302 223965270 636931666 395930406 696088978 809220199 873559926 717973779 535585765 141538196 301394001 144672400 595711182 220987238 329417759 339288094 809053552 977450353 568577931 497859086 811687699 491430777 727152606 489616169 536466052 676506366 176575560 730663739 680552065 489969950 629239955 821346632 164948222 863077884 842278627 714836308 500751370 128919950 842715651 738778635 769607490 488156792 335421857 676614567 624765400 672386168 652153537 781742720 322051225 873689688 564978011 905454585 898473626 511146953 329313739 140060227 784158600 466117433 483497403 424063659 935953686 162682346 260871881 777866273 750388062 375937232 187572377 106088321 533450334 290129882 754265003 290919048 926818787 200883775 920423782 528411275 547983176 966918483 147096028 770161515 831946536 915161731 931650719 526601854 859402863 882972146 743556916 136444449 399877784 300914376 593460416 757051891 936581265 599076163 727140071 321677763 559818661 850603734 924434968 916965260 216706283 936003017 667993421 744973744 161388957 525182241 331320274 298568597 324026290 199419837 631127903 726574686 410873268 314851087 204169076 238848940 180829314 690133508 951549439 768669104 345067413 411023742 439069739 201550846 649445083 800246404 547223164 260271128 172209242 398583671 385586714 198913717 357606127 665313939 861931221 922060258 768469509 356574535 779570747 131812201 803416215 556399424 934167498 361607712 193916270 756729919 766806670 494418040 644113924 963511066 848031314 469912622 613475021 468262147 909422427 437970097 562179967 922273875 144732751 450620625 806479935 437713999 528431937 888717612 927015770 663739205 997367564 816411148 675495688 876476354 499893047 438108061 442466442 299892847 911650493 491121682 664449695 332562806 837672400 380558132 951319417 957249090 499634105 499812022 631356431 143765395 797153850 604258209 880340269 181873080 699438430 798910377 251592429 162479089 769081077 251559267 490419783 913203078 224350532 455010421 354220144 251374886 882700802 621596183 243356466 496833824 894815224 623580609 201267307 772450881 615215859 599499212 105136300 333327857 145460533 870435067 306125216 392557542 392832238 823674080 159449436 535449561 850020717 762313749 775360152 305140682 526285829 644713150 536357931 702955039 876071632 474426466 941484492 768313508 120112384 450387289 420292556 501704496 196671745 128642869 872506249 562608922 826553745 815231321 765599586 599191545 138527019 377132751 297563576 415863326 922289065 556116971 114738093 117698555 685331545 685472478 909172487 273103865 991515947 408655849 198401979 440118086 276743544 280797892 512094359 975157319 590339361 951370663 838478667 463398613 818849497 901221717 225793527 371226182 416614581 296605808 640429606 928374679 781921642 600074155 894290354 171190174 712396721 160123232 363608434 886536446 937431158 871353559 556078712 957342251 383408685 755995411 969220324 418925186 788689400 796120803 255399644 746246663 708378763 102519340 641594936 199008988 854811850 243694936 677486471 554276706 127863940 366868871 357672585 892271591 574553153 892459573 592005477 512231606 638813728 680528360 950121021 129125486 247712493 384356142 506057876 806195475 238702672 198636009 293084788 527714756 313985271 830578242 274158835 670434211 531258603 402085522 294499258 186695619 690568001 979189385 720671868 900308430 541023444 433942888 368861396 848288423 181434834 284809880 422662750 226490466 130921008 253901362 235929536 227384974 478489528 491321574 929830332 275680066 876403378 235881547 109405266 139123683 421069201 431581990 971534079 219770343 602594378 116337623 278608167 458124080 282651916 618243628 678728559 325461851 253171959 250851097 733999734 104087034 788673208 574282736 619894359 145989652 539348534 710578719 282881898 518649538 688460838 318897019 448384345 889291881 997302487 520758943 566569915 427597114 644006018 654899448 501207806 305764587 928741391 560023657 880341678 587027164 415818034 707393499 348627602 495750614 715809579 939763664 438717934 716628142 656375564 549164841 746282299 252420905 335851458 372688351 609829113 306923579 617133550 905813484 722857983 701513737 297644741 240810821 580173656 367269204 942845425 353230872 381819537 641136935 707427405 537873018 480268903 118451630 612042189 215616167 814161138 969375404 968013841 797367337 538546590 320360542 765851457 324308242 247514908 898746675 322300990 965522758 788467783 815375508 802172595 650533410 629924160 117328752 750894165 516516413 531787677 591735430 957143544 357850567 997481654 898734304 675288109 647568385 504422581 760495827 959124131 651893726 646603197 356988006 849644935 925945076 125296384 744116898 339946293 468277617 922297654 854959984 521320833 194606437 683803650 187931027 411873549 806168060 907104380 518498167 345461371 984838764 324810247 111337943 844189317 669839141 193664759 908582873 436472334 374329111 464498005 406522869 251885549 953558614 641622209 724469773 574835655 846056611 415523021 609832940 658145213 997798674 693985464 923927349 194140918 307468164 983743167 321609102 419872537 345977754 619191425 936533111 801249867 646869655 418537238 530298528 932974948 217763720 429941898 539689896 595007336 580686357 922785783 184258914 883919615 680649883 508252378 412485117 976218580 825716706 407567876 555579025 107829166 730795215 476187048 826684082 818790747 370735841 589956183 932437392 279881590 650502024 794323417 798798494 602799540 726939503 905346340 731806844 894996236 301138649 323268635 174587523 934279480 882138202 356808074 820645697 120609271 351177027 298118457 998172583 157459465 766709621 342581189 376264523 649401111 209930723 962249871 551926784 960757382 258596850 122231918 180854149 538005195 292087624 364794063 575872339 541445396 634634169 153253595 749033292 267478376 425319840 198349593 450047216 997770387 827962427 406775540 404933855 648614261 967950681 621095194 110868187 474714239 208154935 367321660 656285898 847438684 396355985 867979114 792184112 927118311 741160877 404757830 489475272 380311262 506471665 169000821 570289017 759629534 796740466 461442266 977381647 648336275 191462415 814994682 662645542 882111224 655915071 457699391 352709748 736446314 320196882 388105700 676320685 719386079 731849782 436643865 401268737 636546625 137818820 857177342 968073674 762335554 513630823 366545939 321677290 818781567 297889350 220971505 522811195 820601109 690968078 318266888 607096981 196891821 338725954 316207440 940500576 332612194 965355477 962787860 991874130 869683768 275508213 118716337 518043017 380599261 100337398 834456794 737487734 511422069 531389733 116937401 667926112 281908290 133889655 481968436 262556066 896719691 545159837 486700009 732571877 789958120 665928288 377361867 197534827 546210522 731200278 396251828 937569712 346310193 354469033 496088231 775139319 192895827 704243925 348157741 708937965 476381969 556014090 192511952 813340399 338827063 441970785 748679357 251561762 906150443 727610840 581698309 107503147 237372162 793974045 878110223 642012956 537921306 690680256 453629012 419108283 274825081 871771179 464188098 953058130 591558772 819758328 550370364 642324237 121218166 724285334 297412544 420321663 748714081 685187056 689230210 611110649 933381456 476666053 824415619 277471637 192263910 282828998 361047849 743990186 132758370 128854612 988304363 374503072 420427044 695289474 878012734 923250695 609732852 627451140 510038223 533503834 434382602 185101832 713729719 958840839 374167992 299446680 459656687 131286731 835043699 258268743 421992970 134170126 700081073 816809240 759236438 968610606 402618884 636498907 971504681 290167602 332203974 144963479 619652785 477013637 600052182 743259399 827990309 225073326 115972057 197878629 302447668 692535519 925072049 823753567 116694891 319874841 976328503 696197307 924227031 739742315 136170552 474053235 330783159 881511968 264724168 190055939 777236189 467873272 272881767 993027137 136480653 338620905 730345090 415378531 206599208 545293596 899565707 182504723 714921016 886524815 306553307 619692256 595085054 452493041 331471699 220729394 374804237 365188512 354355601 265449856 487123142 641132063 763325211 419692048 852246916 108962856 280474402 573318063 828943839 445772842 240760051 249989646 200962189 273259130 580897305 535736784 282909137 853825009 831017635 513952855 205197214 405606069 915036341 150953916 355802225 871595680 106269830 484713832 198007274 714323368 244651289 141168141 589624145 315513192 985572251 167298452 953050606 225848481 778767528 507118621 138320952 515206441 968386965 307423744 827477738 105760255 442397348 588856009 422327724 788308706 717891872 918079884 321588537 610797700 206187768 701135391 676864073 464606051 757893579 521337487 112384236 159692746 764004277 453077831 497491187 631787407 977615710 516070625 880012865 112767940 318890560 964777090 185213111 605008081 221842332 627572077 958191224 860262536 496655405 883519481 572500589 978751231 523369380 882801492 528715119 901427734 782306882 724781176 714900247 327620683 920830267 115192389 115667577 185161848 274624018 994728665 224037270 954184560 412568681 898611992 323353089 680275719 962572101 200513256 913665642 594118584 711389867 346929104 472464566 390405323 601430859 936950247 572324874 719130555 931869965 655998194 807227397 614180983 818697539 394134436 748906537 722778733 573064134 261268371 401239718 389685960 700901431 718352493 888373157 885652178 426436291 898617068 103255004 445945534 899877868 366304647 158566342 390520661 959730045 461974365 620656236 108211707 677862632 863995020 613034455 734232080 104757175 220701478 413012725 202625359 568791413 595177524 413961317 197570965 316113683 794640459 126097654 124918269 611918741 549045599 240854887 844869108 422852071 394421609 277683292 983812623 555998121 114247099 498053034 228278508 298422929 750081805 699159581 495370396 514774058 762253475 284267351 347363254 285940573 221629775 909013165 136295185 200445602 668060824 233991318 931564989 386986813 843238642 770905388 733219974 550553810 821889262 105782664 154203184 438009821 716600726 622335067 927327360 857853754 778909463 736064467 875466587 535037976 769248103 860894570 761112051 902922133 573820402 315324874 211511715 885121861 101592826 600094279 654605069 688622783 901563884 657488934 583255461 643322924 434649917 187001971 985994337 310231037 987169723 230908850 175637478 498858423 796524311 366374560 133169440 547019492 322710361 813660476 250236983 455335795 448733691 102035559 641147557 735472231 363004613 201080771 788749345 154680788 140470756 727633114 114780400 884262751 660005521 464288716 494903645 653216373 494631331 637049342 149238020 824867084 324712886 305699540 409619109 343465560 610059579 391412363 521054476 343674965 846989245 110877998 371764377 195101266 999305390 873606100 743101257 906192673 751704996 819656219 679389561 931080234 313750129 965228390 258591165 162771257 548611770 986114497 776240583 447784642 416682209 403358089 187372409 743244094 153688111 750377997 322023144 457879136 782312022 456348972 825858742 480484464 701705296 340674909 941433842 736090039 509259530 313949972 487711741 297486344 393676099 322274281 417692056 251664371 489517840 943933622 875729965 635154085 419092599 493673945 196863555 510265553 366415625 735846182 331926303 197721515 600822805 945077363 693400557 411239716 811923346 850987591 919672620 495541698 160830630 616660144 417047992 213539495 863205490 336365012 162052309 164689688 777330251 576824686 895959951 235599187 345632432 445589632 381436977 134489350 141245117 591593247 852939771 427759721 244895377 224310058 804295510 675056511 812583889 452533667 657210098 944969891 431621112 217845820 517705756 382173417 964246310 724152185 790883444 109837058 704761211 995600550 114512165 501218977 889910295 718659163 748277749 478583593 841105556 231987314 794626695 722378272 694158403 412822570 786290896 599355532 744160262 657274492 778289762 418864840 517910806 843408391 451344448 170280069 149615654 416560111 671346807 221042765 932670974 977494366 374789097 691401685 394495330 301103661 742619094 268989407 917215226 897986376 443586518 943882790 397972266 695937622 942577794 799854790 650259812 879544337 561189592 550264949 409834813 555481909 970695214 655873129 481107543 438386070 665324443 600374025 860127402 377096264 501986652 964078795 303321586 621659007 653006996 117899190 627633107 518396181 977129515 850741438 366685526 158585320 562011457 541492363 287465833 826489016 637579972 724727468 545940078 895201000 626881692 291101308 915581862 712889614 679384040 342149602 990188069 460561763 738322159 327796431 165002363 866154730 526175760 282404184 949148546 787284532 965790710 703561054 474944194 732343262 358583187 181662443 637658789 123982024 182178124 655647792 400198603 463827612 337011043 334832728 827992979 937600430 755600966 877758394 328090953 465836962 896762291 844034540 892669386 576812427 608256496 540015747 117190225 687953683 413507872 831336476 380747368 931438206 196629429 234885764 493891330 911300567 539245906 569139114 195231030 655960054 854785495 370485481 657949244 485074349 200202346 491366022 831650823 613713873 257419238 719535417 251262594 100393012 893622758 560310534 719217985 896304480 900576575 514148072 291207015 510023254 829630013 762261103 120648820 887969942 346626662 828504315 636944181 244770408 605407472 464712839 400178578 372180646 192676705 773491795 769471718 387103197 245860810 130851415 721165686 713245900 974069842 210299742 528049652 291954189 371374597 479548795 852393668 392460579 665291047 651190972 671979642 751168665 828252070 894943530 646694829 206750513 262811713 506619022 641017799 189795781 930477203 562077257 966618204 463184372 621903592 689749605 533419665 618458432 603452762 791750615 258982041 366563719 523267747 832404887 635794413 145165872 350480017 927792351 837852901 150314379 309942813 408730805 582624580 968482691 626254415 275621878 830273927 825680723 908211913 244399340 871042862 511271525 967811888 799678779 902720653 942208359 443879372 946982386 184816189 960593452 102823095 406766283 163317475 110233896 161134215 293235345 652392129 711111030 536678957 254995538 476776281 785023980 147152631 330870076 939211135 765888526 996900040 199995552 203757643 792553296 712295780 759371117 848185903 689179759 334079607 177365074 819523590 250919982 389574536 968336538 947202270 594290775 873251145 770161630 303701422 852362064 249779106 368660035 291961802 721373382 341999713 100183008 793257410 293056839 924839324 663558446 688256154 760195684 455833322 385312922 493254349 988591695 902263479 400698089 325616650 839595929 642376789 301902295 415459613 200748068 233997467 936599754 709751682 595272754 919074791 571151119 274102899 767976491 826659599 363637597 635708714 639351916 128475098 478992295 779058297 731167788 133806491 805000317 352901769 705943548 379805107 494562508 177981074 853388496 877927295 933887833 509317868 149365981 770843302 252947068 801093047 760763934 463909060 741716405 949151103 179665013 890927763 438711538 995780141 989503905 181124853 830057396 494759604 705115710 171415589 957795162 800533673 877299960 933002067 528773071 192164958 251741251 682256648 644139031 797781755 915056304 829805321 726996774 791967004 923101682 209774574 389028284 156483559 804771536 882265368 927153252 958289310 946902391 185324734 900961982 296643600 111492245 631938790 859541936 190249219 759276712 654278295 803633527 182168162 156858031 153175390 876874007 111437438 601165917 427361388 412210228 322913870 592657613 228750663 317106664 365681465 625645009 121651170 666124369 346206942 226829230 403473440 456343114 201464874 292618437 459291647 598576106 271466230 375704374 736299192 483812046 178925680 747133995 177683376 914526334 224292244 171035217 239989404 975051352 281024664 881922474 533526959 523874393 899272824 628356570 134705941 345753613 234566874 335997540 184842212 481351209 656238495 247529866 289554749 406822138 883785934 136480667 803307355 292211002 635257217 134277111 402284672 281861187 192149635 956442113 913572458 826389291 794406656 319156872 932863585 841398221 339334818 408643248 324666770 513783918 430522188 606050026 198398762 664563162 687882284 522358789 933808899 860517450 684913319 831900229 261701717 250945860 774979068 956735423 296921858 123214692 707909571 617815462 291316546 714446535 500281401 396042406 744493350 479773258 358893409 180610033 967752406 550109353 365198216 895063976 608089578 338844054 609323028 784345026 931691281 131897548 679260827 529006354 677993786 517636773 258476318 610053028 627578275 284152375 553553473 759130512 719304593 438530804 433071131 126092875 606168485 256776228 788488462 227396091 384386236 853948381 265377840 153765053 643267834 816812887 735412521 125785739 759896964 511366448 865437745 960933134 587942283 245655178 795667947 216831524 521167236 320074172 643375883 948866743 509875879 464591003 727954813 827383927 200655675 727345588 703879553 301527583 879056492 334203011 704455100 199401088 278332963 140953377 446521576 293336999 354380276 173218240 469520914 355631041 858681594 466401456 297308796 839594323 903363056 307343951 123003827 776208709 113544807 722068964 720726492 528922627 641416970 157309305 161324786 264565256 405589801 751751542 914407249 469483715 592599332 449152539 441977117 375718127 140442198 801013070 215204509 840067590 856262879 551998995 796597007 721318022 224804595 923608033 379451980 810971475 221471283 529268293 455395345 882978561 551074927 187618537 344722503 496779951 567444375 566471363 860457880 252903587 866318013 129237183 385745774 720709983 484630647 798864889 264610986 976898477 431843871 158719353 927607205 970807036 964664875 478539748 369100526 287734920 603694669 800706154 823505173 562912426 668572818 199428214 328224565 882700544 128659350 181362017 867499902 396169730 530587292 513670688 697905910 925714571 690845747 179175037 627166789 599312862 840819866 640028996 859798556 238732024 350525432 640972916 533824729 548775706 176695073 101939105 622251831 432073066 249316773 262903601 333293676 304260656 249221879 969301735 863852216 722198754 863878143 320557195 735156740 157499788 556850006 293033851 170289630 323001335 855067198 556087388 711430459 594058132 975047015 477807814 343964758 590052862 410528855 622388231 158801703 333312242 997982768 750701848 650280956 401369320 344324222 451895403 202731935 291121179 934046433 366416004 634914492 420994544 694401448 425253631 895515898 100332129 226305472 252986710 515719966 814534370 840056556 212058116 511132276 529098576 240674553 642062703 549915052 195163516 355747884 215940048 171874408 461955491 345985409 409862018 753458514 250518955 551707094 396132015 973543908 226213928 631147915 791468920 699532223 901327824 575348370 214460901 734479260 366702476 753602437 754112555 585306386 489578332 281899852 294320598 510066151 287849460 670965298 644657796 533512518 642908503 553120089 128882696 161946889 222962804 998482913 532106956 143338437 804025089 830637855 890971577 549465465 219265538 372823543 978095973 166985356 154152709 192999429 323747757 495058452 449586916 792784907 635371319 681157868 190386747 984548883 984784192 757800702 320715713 720622563 262995297 911474449 646459211 429309467 362636262 949672424 198610209 540322978 149403105 995647318 702973910 823897119 456243319 166031035 845652168 848184275 734282674 746817697 675770924 662881675 932055524 105564953 498680211 549996377 192537451 439858046 913196792 690609616 411994028 599216960 377131466 188732278 519451537 129267677 119190686 366176693 286558538 368388560 674940513 716876043 663163487 888101074 469915460 512401539 160591131 529113821 861424845 839101132 514475011 206025361 696597632 652443489 317280733 347066568 217840463 602571705 508741273 277078272 752615133 370135639 133296852 333767970 735418920 606423235 921474615 947752355 791520867 643320152 976236143 381780191 758697372 569235286 168316613 385768744 997625061 846022596 765041912 885538162 999980396 216391645 882325269 593347378 402669285 510538512 598536046 105261178 762381401 491261097 285234786 724932667 346327705 502307708 165729092 695792473 927417491 981940883 587562025 768437916 319782759 597868336 250403484 206278821 255352625 565539895 622894229 516595291 723323273 611732709 240836526 215499652 238993267 442017116 847922922 359224328 494256310 703619186 352673782 196468986 943074281 206371217 616124347 750601904 590491854 142893798 417506206 869583193 710605195 969279810 359018775 539908304 787893494 350720192 980140697 331003829 538268801 485399094 105849288 978797577 948836141 941915513 489691344 989559283 874201103 959510117 277037391 562712623 901612002 453007900 573923154 313226376 848254311 954376736 385010577 621229493 749145086 672179599 757969869 215443789 360530698 736142896 441482035 281875374 373963979 754370745 254508956 933649126 347683014 476827844 734315761 947409158 988072213 122047401 132159183 459960484 980200789 785280613 983780796 856840935 774130877 618385763 416403065 622082757 980019664 271602665 947508261 195381172 237821577 868286994 343318374 367281339 124006420 206207687 897274650 497085713 366761305 221429636 619218438 567429026 856837613 966560647 110912296 942894486 917029638 669160950 246918612 889705209 177577307 861436816 870495851 761874894 333327373 516412815 273163950 119986068 702227672 553229266 936372284 789942039 901140650 639180702 840810555 771483222 839780607 566244150 914847848 251559570 784224881 410053389 832547615 168800844 295678731 654693381 923248881 876475469 510382043 347690524 606806955 403914082 448377973 656053660 792079101 587903341 875190968 626348487 937252012 261549650 827946144 220854280 948700842 576159755 390664336 816943323 181561083 224843324 918473379 146364528 549981945 886048785 567043481 849808928 424169477 931690325 306195283 760575473 976858606 966040907 503551899 220394467 716907037 967372839 421470755 497342717 935825712 723927377 583629445 834284247 875368955 964284933 547668127 376311977 818864271 680290744 435873760 175033251 489527190 397891914 570659191 109288450 369616616 478145728 834401206 284366993 337874070 598115264 962986163 646544915 380709267 341139321 192066588 649451989 438613413 268466408 162406081 322767860 920255435 776370467 896769324 858445999 941264162 287021114 732587583 621563324 470451867 202528749 565419719 467504696 798149794 413532406 806906284 659685975 235314120 226576839 433740035 948994797 699357064 171569536 537140133 356886365 479408902 577916158 136271118 235418574 806762557 971112915 504141602 542308366 294262504 605462727 356830647 107044959 750497487 478952337 927612624 621001063 381091522 305207927 595198041 343610575 346766275 913010587 450788451 261360757 389728923 600491637 337216357 284954550 207368016 163455412 904781383 705035160 487941407 129619562 821525590 195814354 317267564 404556197 467549134 242208139 261653531 396701786 758197936 113296075 576078290 225860258 741821250 209749932 558357526 961999716 260391813 410606684 629925040 273709981 639650720 440357830 549410109 519926099 135654837 823131891 794886844 982030269 847380935 693607137 400986723 822855306 428415187 687778832 872543240 121058753 466903821 236594010 942591267 185969103 796945575 540464635 105375582 743352540 781808319 279655393 934858516 410814907 204372475 468136025 634409363 547579858 349687393 136272660 328401320 982583157 767578875 986090799 434267144 476560718 271570179 414422576 557126471 776824580 387188694 868107804 103266691 816339405 597440311 267771638 912504385 465116726 206465662 141044650 824067624 661867188 323867176 236708378 437211212 215443623 273512228 596645412 544737471 544427865 467991374 244894368 332245729 395072054 438677423 418997256 576657817 297176133 519490268 477398890 334169082 578999199 859136976 101536198 313774986 408222794 521913640 330302583 904618641 956684456 163977218 626028134 235168087 959446481 350889436 968105735 611674021 105637450 963068941 851059237 755848567 963413959 691642934 118361974 916887001 143503324 340420626 909050480 257595277 928131631 433173788 357869789 315356277 800152414 633294014 100993562 620503265 649666664 860810435 441453355 186096467 845099044 407602585 833045823 840221134 642434830 983836054 543866296 100907991 684869515 355014746 641408852 387465772 160419202 283557854 574058555 162471362 279361709 311789157 904062973 740632057 934941157 762239134 353396031 752491101 455662216 686958316 649460500 131508288 429919873 454095650 471884587 227617365 753669553 495105076 777085014 759430650 882559186 617811372 787721471 398703605 809575225 723210391 154047561 974650470 234971543 654854046 726587756 739658968 722675068 423763961 181492610 148541455 961962614 220861790 288445235 409635879 745356299 824933820 878629094 498425288 631740985 427839621 703280154 462795354 183573775 785010194 398749366 490446292 966604923 942742553 639672199 928643097 859305703 591059888 930378646 959756215 845286671 402847045 362918893 912042826 739723242 401896993 272027963 831383455 200764850 446621516 937076739 413896639 499689799 869144480 266698866 277440068 919736349 568308413 196642982 538454250 836596862 782900171 882879122 265722531 580791471 535639140 973276993 525570175 131892376 138918429 424823836 836862976 731248485 407034866 515450856 997078046 336168981 178227023 506588198 828631854 831249927 472643808 641616468 519601313 362606446 777394944 155020685 832021840 611950581 616132097 603804074 167809853 153292020 496922750 859138843 853844570 418562515 563043013 278034947 758066818 929047936 366474978 474688484 561107363 308493389 717071177 404206439 764293797 826602745 289889387 437530711 994323485 705844462 385998199 114385234 881592669 415684114 583284792 625734450 902758175 929422881 541220824 461707580 641586625 219894784 181430707 866380906 474724349 490574061 342642809 361603091 345224023 419810150 686165121 102321348 901280929 293768449 625864807 637437480 377095287 310574655 554992778 441082883 647119083 335566875 110730859 202870544 730674488 414022701 591008221 513784555 352727200 534449905 310844343 893405514 185883178 302177229 768053315 648128474 976489157 522768621 908970386 574719261 365877203 728044180 192165758 593842622 192598039 779987914 563411351 961606405 951539775 179845433 603802936 562987029 464430528 887460131 430208209 233340582 560800072 835580666 789655859 571360814 996721481 288306141 300702254 419441804 270534438 208547772 255832802 439868966 146371164 774527333 493189862 823556924 815710668 779962545 515447646 692817691 350135577 335602098 647384160 429317946 150843322 754406591 868991327 960090748 466607606 673690837 119750380 231824708 518513473 994277044 630538633 433793817 888783237 983648352 323844921 819688404 584076116 737523611 107416263 986247254 378733168 700689465 243427632 131079574 443657408 128158446 392321194 569269146 453376453 270791059 447872765 440060995 141779125 406408882 930337573 738581487 745191142 569938550 724029841 718880252 637810064 728010256 721807640 905706077 105684961 724367631 777322081 724149619 803701923 802048748 165558216 731014155 668105491 742163307 717381349 826887037 470598647 164146684 230003319 717657021 351108413 140663621 253897709 564048499 174911861 311729519 489907434 624293244 809869953 229730473 629617132 973212364 503965336 128437655 316946503 415262583 715536360 525796748 721979238 662077770 546965864 148250085 926427155 745909075 115195196 827104271 469322333 719084171 479643521 738566829 894944678 903005444 863820203 725822942 600165500 797132222 446378128 769594146 597350638 905624432 782231256 695797207 199740136 360189873 700461736 945716472 246997885 699972548 346893078 938376681 340274750 156984509 913122598 414302798 360414589 591892135 550568132 465832268 399266908 993366871 498397104 614811524 370232455 447193448 437824385 792926191 875047670 935518112 999831025 196783402 992128092 347936411 678772305 775248842 803813634 119426125 263855108 224419129 818018194 171731603 526341656 187399393 931623246 598641830 582025454 277858154 284992706 777496839 947592221 864353415 977208628 699262658 912502282 686475157 420233960 363913138 506942948 557774299 799663662 673320416 351789061 776348090 442006480 925302868 748842108 228144842 466947290 844923972 650106141 652842346 947887912 698039741 477078281 259444564 929125308 604765782 364805986 207121666 837097674 182078721 654660388 965020676 649650251 655075116 413781877 311677043 607011511 903496269 891996562 652106912 714526501 310926621 729258602 276253045 263952087 282580402 206500253 467007972 690136028 961388634 769665371 893961797 192105827 430190525 804165805 688663924 268123334 822864337 102045753 560232016 511162614 386626791 343058040 544608049 814988784 879768266 167283587 266465290 398681014 146363557 643839247 341747156 371822447 988705744 240027749 546840002 685510737 931480062 828124902 159766060 745511293 106650884 360416721 114538315 710446211 892975057 763265639 184682206 628166829 967860621 156242070 314683839 101931395 695110818 222087021 413784323 987408102 290223262 678826712 750146290 985854283 534654502 621990563 661576318 969351894 121639875 210261348 893827679 447848982 164965864 428086088 279665073 129105352 480915018 908013796 108285338 891927321 367604247 150578085 701782516 677507779 358864971 396837886 188738852 932875077 660609464 834605145 527729849 697876428 172658205 953461573 606114647 843500683 788562042 243052391 515825978 953223840 993120215 432762689 348233423 812877312 294413723 441981819 777565743 706878546 296231248 179664803 724248873 510300098 378658258 377710007 646748502 312787752 181989145 554704054 908078447 917235180 140783469 917516595 448280997 814224473 175578366 194836511 739526282 425257761 850405468 932176723 173993571 514666465 487300411 510327445 538924405 670974645 331059205 483759934 951261232 621740313 917158168 730950117 527581579 935021613 254500261 991506633 580901002 584128678 635981233 279251152 852028950 890270280 663539222 403546723 190224786 544421110 583950513 519465996 295588493 130774495 702866457 347144623 678822255 583759256 749143538 921481185 921174519 355422444 437528348 621166978 915019250 690352422 437022709 766295274 644922228 655721780 608466936 360564036 755858276 815792177 602073426 209589273 302361590 705977134 958064629 817310807 671099724 125729027 187338986 480911762 898466965 501124989 433220242 917767762 618954288 825041023 190409338 808024627 388274694 778845561 497219148 693334625 959660028 387641478 529850578 753575753 616683763 282761986 896527712 102371849 594338747 258811561 339217785 423475784 808545521 700736083 537968494 976362621 559768633 910881421 797096225 362717528 353259473 173808110 641855628 721918468 830730492 498767575 477619255 451562801 906701899 579045155 534056735 799425316 519720748 739395170 642827405 725677374 899416559 892182045 328322115 798542086 963051561 317132775 306638783 604644961 292733300 958256535 613665460 103187039 458793426 226215677 667203604 559950783 831022998 806778048 890681806 510936208 730554534 627426558 498508239 635160524 282784465 727898317 930400082 201469958 454490077 476129634 349853196 482281141 206030222 122051837 854710494 866896836 163592172 604830207 254385759 685897324 313811367 336746217 505406862 658723056 705712702 308249211 183167065 488438182 903321361 412963714 417407309 169833281 397664617 759650154 489148383 700843792 242439242 627590135 725364292 733970127 777565953 709761850 608702471 427478327 610157705 586773122 868673887 708517360 378966803 726504356 118443728 456762993 445320612 420759393 425397357 126537817 825946501 964944494 177852688 228700692 504366991 450173410 325034223 805471486 351442736 734074890 746897671 595331410 552093654 473770044 591739408 601254159 916933559 909608687 698654853 183998418 162693451 831168660 811892515 279382890 208302508 853148584 804252275 843399379 311588792 294009889 390476377 754037372 146893838 914563085 620731711 498757472 950021543 751684585 996962866 692395920 437362353 383964904 862528884 305127352 560439369 956467201 400940468 879014787 710496707 333692866 160278895 334654347 429906581 280085039 736110218 544830117 707989526 855251554 674029137 364724893 169858091 564531234 917376661 968039522 103165398 579127766 866290041 434869365 975976673 816220555 433681735 899793417 602296797 607207526 691015318 202978625 170507172 227076982 728166344 281396924 421865006 614081189 413658070 462936541 295983971 466869364 266275294 391902553 146073282 119751374 479235783 486327371 536002714 699129389 783454604 127674001 551030459 853123422 480879923 632943969 636973228 404791206 128813080 965621246 439756376 486483562 681282014 643809033 819027281 139986928 445367351 453196117 393722221 911774650 889212239 841753387 218996086 295415187 728577341 286465046 503107646 697033606 464102183 221165924 648803799 944990070 497987804 262364354 765540404 190347072 267068972 751410816 114713711 952003109 883671161 873587852 864093718 496869520 424482953 322068169 360947316 153689131 742228443 228881760 568995548 321451272 625066574 831385920 776877706 254644133 609757938 816198281 101033984 893924419 665518454 402883965 421279455 759547659 878352937 605001550 526680749 167226650 730825570 517702257 229524566 601205661 522089585 630313420 715030310 382193419 400851257 323473879 674305565 816974320 376497469 308073402 803513405 153897441 496670477 905834937 291573476 199956432 249846473 542331191 885760314 489666625 911975812 660144962 453008569 608032057 872099279 814800296 385849508 380462678 848884079 488112451 138552627 553884172 400673103 304803462 164336293 256024911 677577250 851716110 866082342 140574233 522509599 660307236 471727192 318242226 962215392 605032416 923865840 640969614 916541520 367771569 359116843 407956277 409839989 358923482 188771734 651075068 264525398 689516094 967933076 389489981 561919513 879890690 275722301 117149618 955023748 831122325 746068929 254446936 284751835 650352510 287587559 522514313 993974351 747430800 201401271 640443395 406248777 830166651 559913933 259777385 192187711 610171869 461085726 247667420 486483503 275316421 513121919 866317730 327540238 761613489 493593276 445041850 653502699 592318613 908467788 613596291 590310687 588954166 487590199 641252834 132172836 806304972 547622998 174012797 315008532 472937613 273575781 490888179 265687325 940084979 525486116 882387649 169490523 102633754 847499873 436659218 711860089 531221947 571795577 201513974 120206243 615865226 277036772 633612602 246783120 237977809 690510191 236955608 461899603 588523319 605679395 117701804 384938974 595339375 352684010 197161357 184010666 457066645 558359685 369130225 931168415 464471563 618242148 182708975 338842541 550473218 616464010 462151307 999374451 736128753 253463379 562388896 283343717 156050487 837510465 434316638 447012564 146073880 121244769 440997202 621731230 972389170 118245600 119230001 112076477 714655320 551942067 435638334 148524082 751634225 215342480 598539587 785506425 285501396 221139986 841922349 855321890 638160393 783675815 723705195 801844258 989522264 322409308 368120090 452517052 188904478 374939216 353634987 199069364 621245270 458605780 423522252 884678331 542629031 556264636 830588100 160132210 121431801 661899442 338815770 598204529 339193989 623905645 295592156 100737715 872351466 952193773 519516881 494719186 281778198 724393993 232200802 926364957 941225331 962674737 929856746 718513189 513225683 731443559 538083054 923047977 708006066 951765655 705503930 157448429 783212762 876317276 705060899 607658713 530437889 745874483 350832962 927716484 995917687 306142861 272207383 189396876 766684920 710454568 225481483 439841077 670088050 584814096 737681753 974463076 937618919 468098171 585621250 530988662 852672651 497201110 846940637 310465503 103534214 554726076 912048874 439443515 261950030 667044582 133861633 942637486 910792207 363891900 796835174 869935010 104273857 282407071 340338730 655441604 498233951 516429158 193618773 959422541 637945057 818178166 117440773 767752690 926927781 523689146 647905797 271767995 741041094 576969553 756855111 265332865 802709724 312520221 937542571 835362082 471515867 881889024 146323801 936368625 327388089 738172982 877806139 660044622 667160944 732491515 956950747 249735933 154360108 373984634 719710347 439420032 604609224 396976277 874018131 378849037 917884244 377017028 599415396 675589725 780573617 100254525 400722891 830208183 767088400 428262276 875458022 298698197 223987539 690117954 570055779 819791043 558510136 477413443 759938112 612932448 139891082 101675423 814614462 380364043 864615210 683602810 960720461 140545766 771597955 949782419 659718549 709729747 193499907 415377928 802958332 616502069 293587250 799100579 423168088 891590091 222267987 859487152 291288350 660267389 508170789 500602370 828378140 697184885 540013879 304766486 607869316 784155757 189312815 862631296 559042722 278528307 281569622 147722445 611743072 531184874 702084647 569249049 702150875 806724611 297647496 109265442 818245232 380560054 581132573 651908634 294986662 184260897 771053212 695991649 186758702 150749149 545776395 417945171 619882863 242694640 544958861 702600889 689878355 139225919 839368483 574175359 998613863 746846579 625837743 415392469 803304165 147584719 197040971 425259332 884176854 479587371 263204448 699154094 481134383 937948786 348631984 290696967 576312808 234663376 388543738 854272818 446115408 873780974 926991556 909652931 210012226 331507366 172356446 774986792 512701044 994794502 413916250 359098693 449448273 984162846 647878512 958521028 988723610 549657403 394416904 359724929 167449940 634338133 502464911 979403291 345943739 182308346 231266086 750777089 193555961 462965728 989079612 400735561 352244367 663801882 252384056 884296346 716476446 997594032 155896086 633164349 862025851 838336377 999386481 574884477 286019463 971074324 883535199 778545222 873991420 238152890 519670569 594356125 164299507 977586429 956239903 914411298 963593173 229545136 151332729 150096673 896708748 351951324 620602985 460403394 832932772 141670644 670375005 442480824 443471914 759029309 943353950 917318947 944621623 516209581 687531701 874539618 364897232 831173634 684015649 800532799 334222800 426762205 518697323 969650931 535657222 792389815 761760782 468639298 753763335 221578406 279311258 420264507 695573425 868111430 939390782 929334393 618074889 290361950 647437895 306536572 795715715 179662558 673122077 424312385 405248873 904912706 563318574 743186106 285074757 492138588 425311963 332179832 211337303 851503327 259135591 847981900 619126777 865085459 185955048 336383587 863633307 291402542 782735524 598336512 320999476 343731720 513279285 454238774 683655594 984595365 481134033 750532625 547266072 740180889 514181074 788747530 679202331 428991600 455465093 141040009 605853324 384204171 650247014 643917347 779361062 107146532 416000716 604114879 254074660 158017382 812654926 539602538 777269268 556740743 304634446 913272554 486999829 618088406 130522698 311944071 207753592 997553473 782377869 353650578 893440850 790817792 453420916 848306135 870063623 815996075 456807000 582642170 918858851 174087939 912297364 455450233 296362675 572147316 853963022 137258176 778677907 859630236 821239600 301880100 937132337 988615490 339192595 542044611 846229512 930425884 949137832 970461270 754060388 470844564 163236815 223165059 846048736 345301556 313481947 987206856 861632751 355097177 655529868 395761055 312800395 860806974 392126831 639547512 409290878 874541746 905293935 818565124 399583014 211076433 256844314 426848168 217412556 978636124 131900970 330596309 699773923 875901598 439888561 814093768 962009400 922323847 974628442 545162435 515531419 270416880 930459172 442253632 434739886 163688696 711721038 666497558 234218693 312258302 590633434 510061148 939282656 399403570 142804862 561297555 544762385 581922366 339925095 183418056 743258540 954864544 962151657 212344446 218124768 650415300 117777872 715017813 119026961 717258690 806940224 693149385 278276717 567510181 644578852 192413802 606341242 454490464 307153148 277231292 604572610 511811835 933838148 342815294 189532772 730302275 795399957 565573855 183572387 976175814 558222699 952804055 446635647 894047760 167825912 469472258 500192353 756254253 726119713 963074777 741798569 639718313 911802880 810170424 719225319 574871146 238744195 738877219 273073804 421177633 489738462 959135783 575228732 767072219 322494200 407816414 751558443 859514696 747381095 171156121 119145230 390516339 982939439 740121007 854533651 400675239 325610626 639364670 383767201 815523686 875818260 255903031 164721077 199793722 574792073 252717497 394178631 716664106 669545687 441929593 425160222 260117534 612798084 104135487 418935388 707901924 237801554 879628221 723583175 795357184 469071339 858006899 835988255 179334806 586216075 907035971 962300726 949058316 305755237 735290498 155030992 381927767 344510470 536894288 704590922 790992337 435300380 993704568 669274176 487833769 758888376 389044834 529498982 288572897 216369264 375912142 272369138 802216657 778196273 566549937 622937214 214282913 620426392 487808363 621369504 438853547 259686323 140726445 771075133 723228929 386890911 988039227 589940666 342233287 127490156 669024786 740470800 731583817 113118889 224214181 277435000 165152619 164160810 456894502 193170148 546657271 322660140 136655127 833090391 781549676 727458354 285690217 754840527 953043850 308024154 632813952 973857902 704739813 754839103 587357759 454085654 221035554 586826474 311171353 926132710 331127116 890730429 468604644 442323202 454191795 914314116 450613625 880829917 923425964 628398099 825937085 905061309 358554424 186335063 538663213 776100630 246332896 964436188 294423597 217492355 863542581 867342790 980936032 610336928 373455757 646839982 885363437 384089914 111894588 944694168 422174933 375690404 832330484 895441671 982140913 664872155 416494564 491558653 898202850 269485946 174080554 518630577 829707011 532324084 963566964 414406649 409962908 574060211 308560181 578726974 465913308 785503429 373218639 512339894 468903999 553965072 742888072 434659194 873310156 104258629 613345052 212686463 164223410 202053392 546538043 539504042 848803278 119252937 425319532 484510821 328211551 804343952 620151411 788489963 376337992 830601267 749417667 740581580 345605428 202577616 766423300 407188733 550414582 926674950 322801361 475190690 101624350 848599904 695714494 275423066 372025304 171537788 321258746 497114430 358830468 794003146 680887339 599024937 329615049 875359854 294262300 566150260 993675542 852402094 962296508 785159221 334660388 358712804 311592992 369113641 989355402 894176313 694647282 926036569 158108360 450129793 929827555 995303150 492749176 202567206 737655756 870170140 328139786 468243455 387220680 855903488 278661178 665457892 979668063 132164839 821448510 519977212 968884198 701808509 808761768 670005703 173565026 878229654 197610236 514395879 176928401 940286669 182725317 655228813 878038985 408211753 320853498 368834756 877968627 346335742 754943045 268959162 235198315 712951322 427237555 736461602 114613333 731165742 209149203 161278349 489830536 775051005 218036172 824624368 378572408 745105454 410879952 387214755 889111360 404257404 722583349 122724285 666881507 843245604 940528460 426857601 720850213 686007967 257921493 383409616 958416575 592638616 174577392 853348796 851091786 740154491 825332157 511774600 923553985 420329648 836478129 546548339 963776902 753291052 721588450 610997606 817546193 852788596 990472171 869061551 510056554 821232994 739035649 798591441 189297123 338840085 706049128 144508549 750057972 297648734 793180539 135687027 423533253 112341715 444259924 188706046 761491941 527276711 905453907 630119823 145875905 650974860 729257443 565085301 462753595 776684080 375188048 875100198 859110377 646166773 400796556 120021588 641251202 134110049 351230629 803631469 673762358 493788901 957240713 904710278 909978865 596033768 225513572 203035882 832166010 517840760 930495446 838805741 123655251 271199604 418465610 964647488 266005210 734862914 225400804 750852585 193867923 123292531 516193829 854962474 892470257 667036822 256694903 370085391 685420872 496570070 478790455 957648878 354131970 874053562 311119943 812204468 823386318 904179263 225045762 516620200 342832390 384644303 913625660 931679439 484219024 368732088 957779737 216278570 458958239 340493891 894397420 412459233 105316477 413573580 788154975 928782610 196274525 976723942 883911805 541622738 461623891 362540427 831525360 168752089 828221277 861150108 654025438 497481200 131768756 549953509 164027118 796056209 282619925 327668404 419058476 771187461 182474305 651967353 488628814 709475258 594786889 832388376 340490991 173942805 498542937 741746220 768225575 273783842 868119279 787571050 666709444 272307461 704357425 573964069 679077935 508728434 764768824 226971237 737049594 398035169 660753299 944025704 365764755 535474130 943125350 961105663 815322120 351819799 191219954 455657117 500274084 329295796 707221140 366529463 740136955 162821967 851806010 112692842 468564485 443398697 510057719 962804871 539826084 708724618 730485611 452651248 390074676 597057568 244999308 738830141 365209754 715059616 826238049 478546879 746396638 687022455 660622369 417359240 377868377 112952125 182905224 573425672 693390216 730783172 254676738 810240121 488197617 245874036 673424628 221796685 419281262 595104225 514289682 547576392 993451509 629644688 842652116 694284494 161059709 897243035 915606862 817183653 662334439 584188236 732012884 294584403 838211417 364782367 868885201 863895712 752623980 802072432 449050954 942996777 457509556 872090317 745881539 395362679 509410117 889170022 303214196 998455506 507343174 895524288 527814269 321154903 924474951 152073845 897311339 264477327 751439350 488382580 970230241 819442183 727561082 164009389 610394480 774667137 805056069 107315458 727127887 389981986 382187204 573605182 742431162 154358813 731242453 161475430 926872458 323863784 588757211 957896978 394448153 991677968 573893025 495183193 840774401 451652089 584099882 749046554 818655275 433489789 424759441 372390853 285481249 478665098 864267074 739758766 737223415 669886201 883508373 562173552 445286619 966177509 555483684 398679514 859264428 601242616 613847401 900941503 914309547 543422920 910376968 320961182 939731521 758586925 305484106 388241545 828224102 167997499 661289048 239474648 734447614 887834175 432873933 611443829 470599663 953244762 169518261 171499872 546609416 289308783 240923906 413244891 629335364 848170156 369918208 743750500 320177255 591664309 474298552 252536737 269375669 567409254 497272730 363154107 776546617 962037451 305408754 736473898 711031311 453721763 811351490 781879454 380234589 752924301 947982536 625862327 730923389 626443313 803234232 540877510 748583494 321319970 501859795 186919319 761301239 424202172 803162220 209083700 813613686 303610127 950789590 288229345 400822265 999317346 577387217 473931233 198055919 434305974 189616607 272819080 192540405 989561523 466928804 461863176 903458300 755457209 942869642 223868698 873074729 245285053 985424038 684128079 679521035 894697025 637520522 104248614 849585421 866201299 562962002 633742527 853913305 436289806 658698177 886099449 794677716 324027640 851131047 745206125 334587293 923555498 320059684 122980175 992355241 111564797 717358147 276601339 662984248 360057497 672166010 655655864 367981652 532436835 973138705 664822321 427204334 164694832 331340276 547576234 548513952 201267177 188296703 728214361 715857999 884849176 936209935 288655270 866140295 549341152 224982391 526380189 599361048 209054379 676550166 781533102 486509854 766039532 897149971 989740235 902192683 200637049 611123462 304362232 804911250 257674383 347990939 938695893 509064255 695453567 528893330 953785042 664844173 240670802 831383629 602704726 705093576 184589989 679347785 518052809 368706805 888277609 362714823 417552930 537778056 278286697 147842955 927668161 613710282 928599843 481274882 268594125 955118243 186771048 634975198 736632559 763830185 655621122 169423993 898052595 601172401 722023660 262765821 610020240 612616549 986641942 479792825 946637182 495054197 376442829 645432911 157718836 120175754 423118655 570526611 817141319 629709167 730903056 802390392 568724685 163975614 451704173 941067447 197955309 912929197 455637439 661917485 276593371 785262510 504902227 546030181 470343999 542472046 568451326 650138195 954247996 578950540 422586815 215943853 762329602 657050276 753088291 598905746 272908058 740769688 404804970 816869754 866242857 842336141 492262461 960397039 555583184 242994132 547646858 572086975 363034586 514619554 433824790 964667073 812599357 725273797 102867264 491474766 349752748 671081210 430760082 335132798 155530846 635081946 254001415 366761599 283375327 967346056 877511491 941951325 890846210 381892877 760273001 526918463 418386633 741303910 999629989 428519714 706041722 284824828 965566297 130616730 386533510 347514720 269068869 442536065 144842682 309028271 154460262 333421121 322138285 340966687 848816684 390226466 408351063 915777008 744432453 242216486 446580267 580263692 226468228 480101713 106915326 913477675 573722096 578337723 454803201 579993039 776083724 189774925 796901254 185231572 606633618 787513986 503043965 460472118 525809564 944157824 154869569 272154719 374106744 990034349 110615210 412880683 312297488 164833390 757077362 241538235 148980287 726067685 163847115 782556064 241513940 784958966 221359193 364708979 331557883 536462327 321978532 204913046 615187902 912249627 574621564 983739492 905267841 122446706 822486512 837321940 816201221 198573935 587315510 498102422 283823492 980009503 216323370 544668743 333280620 547559099 618206332 412390395 144124096 413300255 985249592 300636747 821793372 133907780 732371336 976169064 596249012 614387592 720657286 160045551 865037331 991336589 233034707 704379520 747079051 620006131 254110828 571607968 601805344 971986519 750066987 223829213 772843059 704933638 569864649 405091741 444425112 191897967 162189794 465387369 742573872 833342800 284812223 522755727 285484345 938712563 785520918 949424899 197013797 333760827 972767285 437182577 851989639 366232389 200317301 911755517 412476920 826336806 632748866 945088472 394754082 913217082 147149502 758129648 671008879 531395984 125952955 297882870 647602085 281241726 632544873 736201032 495177525 498772584 909689021 648115055 433871088 869683061 917616707 305031411 416496900 244161485 282881563 385751300 327956209 981101054 895093235 206422376 266695822 406090564 181929263 423056751 559093529 738000057 396265610 314487449 303295016 332639424 192719328 291770821 326346289 658783950 300993293 797600341 570194525 468866919 846915493 475295501 621750344 488201069 720128033 608058335 448505204 166416824 444400936 263878584 182489622 404326563 964836116 426319582 296469285 588641747 290152823 231639473 479750103 671687146 814110384 390621911 436835173 568769310 470553232 333745123 701897675 883288869 162134138 899806318 905879493 456045760 569455970 289355688 860663306 859994928 946195779 519858202 890820266 312807780 500190318 654450999 467942905 826906310 182782031 363105877 914327508 168756162 536023442 961281283 395694121 726229950 434635675 853291447 471120286 951989095 668687225 627926513 503013584 931454638 390861338 115106907 412264355 246783733 867754091 980150223 353623877 315207449 517490980 783358955 563498249 904395369 674274240 989813248 110830737 777397127 888610188 771280555 520130577 520331865 183129897 324261693 561495783 880391467 562168480 227556007 186606929 839252251 771479985 351487298 186332466 366402584 721588904 530916734 419534955 645659382 279856274 997231728 228896257 997725099 130400093 160460043 697752736 233865898 403856305 544144546 605966724 658669057 977945277 900065146 140622387 296619226 998564682 904299809 413439515 623877445 497085593 693924247 425198896 328519879 791055666 945964827 575164088 890539121 589367726 787879352 987500941 164070091 215174980 567720077 989194583 727524124 637747483 597920438 408511387 145627569 988113690 537299980 283633289 471060060 400498256 630442766 878143917 961060687 788893180 436579733 438490351 292558280 876112037 196643700 234549124 330832897 551062740 972717287 864405731 713219264 442061585 487576234 769896228 101134312 973820539 814872408 524503953 830694619 937128047 625596125 303878481 340541375 479406533 534120954 551391014 440167442 968873828 798875749 147155287 463450351 814465522 851496856 757407754 325742264 909263690 968389183 304826288 415416841 608291365 780974994 549993211 158242108 438824594 750033625 314132868 561876503 338167292 552268705 140224027 417987845 144465644 980165088 268483224 983935754 489532584 786260025 313576466 111286203 790837106 875809223 402746154 125030468 656308244 772159070 796843352 777813335 394156449 828038656 997092876 913951151 200754380 398175751 217516393 960230703 926222516 186551967 648486870 745817087 456130750 689561880 761226678 622250694 642488323 920741119 332331219 916096439 857252950 689228827 662335556 240868438 815350911 715001172 343031867 905411336 522748408 102324370 137952032 194809432 830440344 852280017 295519307 530749788 181747773 465442197 463184189 948067042 751082109 753759441 502808620 167535081 578477001 544139167 373895150 937437565 893345853 236674956 480042557 276204960 346382674 957595142 944793431 530397631 921027962 995971336 281101502 846857727 893796749 519595602 453986944 331165016 614803582 699376246 393598984 402085546 353936619 234950726 946385377 762228507 224169339 765123665 806500357 906099452 306422010 322811723 504569287 122295767 698774385 435349521 646867674 520238886 397868970 705292999 379700267 545389284 431146188 659713039 159058840 782018845 859170596 444429775 285653535 673163192 764646357 110619038 845536680 617261808 140645355 824713952 587768252 820747047 573749286 635765545 831358280 262861546 533247508 719203627 265514331 236722380 149145515 849908996 669012840 571975225 303821316 738196072 525327400 264812230 107959356 326427438 913735124 987454447 930901382 447228381 910524820 405700542 165789667 665814731 990070233 892586087 669167741 609015550 155129053 561781220 331772874 327298577 620571996 906956813 769014936 238358168 322475004 277924092 846401123 255770416 930431998 149431564 624710126 761215338 424031170 152794030 458750032 330409630 726407890 108840605 317789085 745264772 729187065 538394279 748576554 767361620 232127253 184377220 504827325 115078417 289831128 164585769 376545638 109265348 704402245 330819042 955016943 586062285 653464241 907911203 605053539 740746107 352310851 277509156 426920702 659282522 897313450 133932064 968921978 980799081 314879837 300123942 602331883 630354202 444371080 371620838 534278868 148440651 797946135 240807229 923118916 427771915 895348385 844411605 744903721 301321813 172994810 267764023 997453681 437644160 401945382 748193234 851059914 570779288 660715776 555144622 681821924 641578091 867876976 800776275 935971174 768547681 292060507 399880197 655514323 666130608 880470131 342027635 977925770 329551521 631204138 562580569 302958998 580521079 851717679 613809108 640756743 506711111 466068985 708722015 159375780 210575516 971675590 650289120 624024940 286055782 806822539 216378764 302494469 729925082 172538510 629751327 212993032 644645975 450357422 462780732 836622325 337426873 257566455 642352063 543050018 259277296 719744026 691628968 463248844 227816764 187781584 556948383 967843534 890923987 232212748 338472335 255578879 246510611 293506265 581083634 539643700 762809984 979033865 775798045 817187074 252241114 701283668 724694036 608627022 539911157 302781955 650223503 728511592 792918051 226496201 329426101 442138788 659552533 508379660 946178243 915037533 976458588 973132266 321944545 320799183 462467833 933641918 433724904 936482032 176478131 751525794 915846098 550018702 809508619 758509180 384221288 203389725 690221665 696284502 602229880 135147689 191960996 582089198 682379281 927007796 248758355 603717342 300180824 346259516 462974593 716006111 339289990 494155415 247173925 361360544 517686487 857446214 130149100 339998061 931928765 887606047 146313214 825898964 649576075 888250086 120071196 917386604 371386642 743814107 306917966 845211061 902260161 755327685 953035052 168687060 678423491 919989461 893617735 452117874 780246416 973981077 421640236 275846992 980600800 415754823 397374828 619506930 303407644 628643403 407149142 837790955 502610688 260747136 673407940 687610907 670617478 941195758 799146958 418781349 867512391 381423362 285081101 657740459 952481451 971616181 158854289 752546324 262462322 291060553 129925518 783309808 655765366 540158228 143631208 760728629 699170421 169336889 954858962 173688373 809575251 519931808 325667273 945475020 336341967 197515726 273246416 427311458 332845664 306881534 547909263 503839232 523951715 559488681 643948253 487584786 130402400 330362539 804245194 148766138 572742588 283185842 339748379 191518965 867850914 820792312 171682021 593103703 858318252 244199068 926194629 171123229 185575410 618613404 394455056 523296047 945170204 733345708 797127507 941196238 745205387 516008972 786578022 542511048 338206828 722362334 283722570 795381951 814666419 107164585 886386947 366794970 672261150 284134009 161711833 755951023 752087985 328181802 521566893 215270402 523461108 652003181 624662767 938101618 374105413 193380580 144902793 756968830 478274178 650126436 529329386 363681159 211700791 540617810 952657185 196545606 932321213 566425404 422939148 988199397 574986536 768353421 692501807 639991161 746706795 636233110 513063725 252549635 443505940 735870733 124712846 433521964 849884814 506479672 770056452 819978197 784848082 943542141 483092210 101272939 222423059 522474504 630968045 164174653 581021099 934522085 883123436 107870749 190713689 833450429 178622742 999523925 932430438 328523138 891151189 272712191 367774438 348179792 530164210 660569456 635484113 516569443 458100622 853863092 384985201 699875545 265093249 842595842 353693899 312778695 517331508 738871597 361445760 184638142 562774280 769237869 312896702 169513792 559582093 417395076 619166058 812325108 904756819 149622480 783381734 138758565 191631144 617170469 300069348 703215365 120396089 638379064 935401048 277994134 900773343 978864269 784756057 345428808 184423070 395294597 639345332 367838673 933415367 569273883 140635460 855911921 707995640 361357746 800560456 699859485 751674024 785586067 601684931 654923465 389917080 655378827 861027548 285574341 588350046 423277104 275589827 998853069 554982729 921071639 169759633 483311815 759153611 274023321 420336598 253090184 492405259 313291926 837926188 794441080 336908715 674687167 779300566 370311337 607993346 863877408 366995247 594574291 311455564 684107407 538909645 516988163 116697070 895759096 501582304 659039258 572928840 254179983 486359046 675633883 474401462 166797866 243289659 736203879 805278071 752553468 232006571 588997030 832565336 612642762 544706381 717058900 347434514 722076595 282087624 295752257 133991428 147456961 432340269 714361611 142041039 448971051 352269327 568143225 354658396 919270780 563512799 317589445 477098832 202081139 724404991 626208647 336211898 752098420 302187258 541644771 868786907 848778437 895122656 285697779 772913315 383788238 116006514 818882327 358333839 956558747 679450348 838212556 833842135 696873913 413968739 115969075 365195124 522573695 363478203 783552335 975941853 447411760 160811221 422825109 801003129 782019966 690593489 591896761 489447352 210449641 689010480 352560637 864366750 257177243 959741670 205932337 117809477 612243347 154561664 947607118 132156217 233729435 231185305 106555332 979437239 469013608 594719899 257423139 753920675 796334527 939026386 648172613 545939452 937184329 534924992 202799187 773570238 725603540 708718385 324894544 124444003 572164171 524470181 754291631 378635411 918499755 212250503 121834548 707638909 300063722 844306197 695862379 827368951 549488876 594442169 980735363 400653522 555363173 647414043 594220980 707084647 535355382 719652876 749515983 449320365 604325636 590784299 123944410 931591487 881401930 503312581 185238194 327029431 132029809 550735653 883709332 564634018 422856271 992580296 170925362 363151708 229871455 890371112 683037934 526421380 496330483 361762133 654490628 190878395 558652894 823564750 678806141 170316494 798173142 868289669 495521175 786938222 559832453 584556299 436608808 861066853 788098790 954825616 409946220 480679709 554707420 611646119 864831869 138849223 268291863 238737385 576779528 610749974 871251187 290300381 955017226 350387944 487030256 219372146 597690332 749917726 611912509 787233102 443142217 449415860 959042206 960475635 491768074 342190778 922300480 546575379 691550913 356977274 118324315 161510849 543731460 154457002 993522612 728967132 878717320 227988657 976596395 144351224 572167488 748161399 692071147 115557145 510195988 797546756 450471012 491458598 179344486 183286194 108615649 241346553 858276222 268103950 517272074 738436412 312054496 812330449 408805318 350446420 704403542 170389421 499477903 336865558 501586273 886515732 241606898 301629843 222762475 335779446 718650748 480696809 458781178 244912114 243545858 872225742 716314133 428552638 832823259 364335654 917885660 478065893 538036818 758798642 319666785 630233785 459843545 975509014 376059425 414458911 482443319 427012707 452863892 227517448 288959912 971168731 247865433 586035226 794880703 584265587 656912594 562202439 915443500 190297270 261397902 764185805 814950193 495714671 915894691 141447218 329047276 504352841 851850628 654524621 949422236 213074323 394681262 972481434 209805411 102779981 210957441 216810199 749824651 103711832 592686970 187718903 890311016 645920638 855041163 869053823 472172539 310882464 232315022 352116118 447116460 906668127 228316695 419105241 223786842 849863559 175649631 228913911 271630888 700292858 637080517 277652331 151391621 267087166 864907737 522349283 238591003 593990235 979857934 229575122 677592166 199515840 766465628 523397880 635854360 236468026 715359959 943302547 307672028 516039278 512814302 390851805 344364819 596667563 526609591 487280497 411488280 618891610 449279456 980829232 942786436 238262976 277068724 875407203 337327269 682471301 989575983 125621669 798491033 803441197 481026175 335081296 963548372 152220861 722378508 960148282 959020430 595898040 986777702 266170896 618344319 615505930 521358935 169038766 570695128 454350905 106126463 980986045 501486622 321630127 778031827 907768719 162739657 498349581 835708080 813066897 103327272 817757784 615672369 746253831 431838788 406708328 212000391 130945493 504803434 495634101 962882351 946242156 671130778 195968850 145703867 485349210 788972702 705305671 228922560 549582554 562672634 609571840 133106608 393906079 556932107 687170276 793834890 500542070 867423932 107377881 357124459 313430855 849633617 335665705 909962008 239947644 979898823 117590697 743200394 633466121 147469263 802311009 358399799 696979945 705904323 471046692 750412453 752979970 317164010 711829847 261851605 587545136 299736160 589262955 121232817 526322009 353035358 752894419 694243468 931290027 177464052 422469178 623790383 228417045 161732424 996317906 680371631 533460855 781537842 534306118 344438009 783967215 924261863 188660319 990252764 899479840 510513478 319600544 591408503 513595402 510358009 435770261 920156988 391641639 931724996 159786018 404024727 352060671 510824884 143155734 261496236 385755628 388967743 371734309 899243978 512767312 605169946 459050475 680847351 523418413 443753084 134685857 767111229 261906928 765036811 967020409 257316662 688426837 826521965 873652104 675418755 165564009 875777771 327424894 915130080 346874990 421529381 974217457 303876368 514588637 638467354 537839531 299855267 923393193 584395120 523459022 836978556 592567646 100893863 496961867 284311807 793605178 154715095 175872846 939271199 338893601 223123639 242977115 576314441 809774700 805799718 531669289 244736201 185082850 816336000 709396367 393869679 772901312 368310928 886081779 890454463 151697910 224314544 542180010 639116190 988683015 849339475 409421099 125439772 409106681 897937599 571979465 439051565 872689863 710858466 805817069 513313644 387110932 267309869 332937358 498985116 563921084 969329011 843186392 880992161 655426980 515902100 499093395 401235791 769549917 612645949 120221200 155217565 635414710 530551551 935916977 163883170 825873905 939582262 866534505 609735137 916389656 832837764 690872921 895554171 344107349 728345216 948601876 192866127 566284815 732136371 668059066 961978650 415529594 971168250 944729437 306648196 671160288 503388232 144249195 397863987 696522095 700356943 407108799 655442472 854422645 862183251 586927080 796499340 517085447 640136400 327592576 740560809 946429796 766363271 809037073 470305934 884854353 964396588 164786565 332009125 159272912 318843753 275393270 702821938 148771184 277461004 182042984 944576882 535287327 620263225 967931447 696883588 928572261 764071777 813761243 836792262 656726015 644858165 770489048 102638132 476847651 236131404 698966856 729937515 233827177 258380316 477919771 160939549 278825051 396559330 876644970 924556630 320249715 381722413 161234314 520704826 381730029 101306609 567770337 303729352 392457848 585364870 164902097 632707999 865053589 282371865 926522298 787857003 860689852 881411815 594604364 362688399 915815638 261441881 633497637 231536158 343830303 651455258 164351812 298010242 669180355 383196091 338645507 238955085 460695265 119719738 488054959 642046949 532536064 562741426 561794659 664605852 260244524 815118601 440768898 133430754 799847890 307094619 912997533 638661327 100457731 588980020 411852105 278448809 804287317 623829382 994297229 288349166 379161808 365545652 748373905 526493812 536427142 914833644 883923666 661820723 588617865 583746714 671752157 359950354 810508674 919402461 702929913 204081889 145347998 412410265 720788302 428774444 920441566 524061015 579225397 605865947 164533041 102460657 154425638 585600360 675453512 437270212 410164696 202501787 335521774 164504167 215779052 735431098 408901839 825806093 335472629 490199135 177166480 322541857 955128844 120722905 702447503 495863485 631901327 281704506 929830136 642613497 532831481 411595621 918144581 330300867 261880233 572346958 740371071 939545014 414588649 475570961 450932158 458365267 626569185 856934173 384829281 275206924 294721284 456425508 988521719 683209742 628277934 816190012 656181390 675605935 566779403 914106883 227344623 769730509 250200736 245490668 755598299 981375086 871197623 195434585 834084820 539448036 570273164 811440793 698703549 771982442 744033983 418001305 360319107 612809405 140584431 604240444 244244458 525762514 412580184 447643705 221356209 735776114 351807413 758365317 818313737 614858907 264303145 639222656 588549444 178846209 404285274 390305469 992785952 165406752 554765799 362923008 616722287 148074555 870867382 818851458 945541127 742562823 573498278 783058347 755831190 268654257 561111777 654601711 978814640 186350567 848116644 569804613 809859463 862116257 887316044 536678004 454866985 290279421 243965749 907240390 579633702 999697679 303345315 690026626 201728418 809348033 823382201 232573415 214717226 323610029 833109180 998113726 866164184 372435906 843142783 512748353 680704206 862805038 869050280 473587488 609655011 167895338 927872822 687556427 915916106 195533285 390248157 815525005 880844748 275768739 207596386 771269032 943589925 422046909 565896530 701289123 177382503 688278823 125482028 845547120 992603272 981566904 553101845 539795593 212326841 655585249 486113303 546262249 283109746 875009588 210470498 365782239 605703631 548532379 418938971 304854548 800238197 591294458 529443644 924022384 495229554 123752578 130363477 411552206 466630151 333474320 758881213 618535053 521717067 799527253 285006705 778608432 986048915 642061054 204496831 504306451 672336531 870454038 429827837 171983555 900754389 819475623 257887674 231876235 588071924 273484678 492878956 840349319 624684754 103771651 742098431 911411930 340156571 158717102 195097879 164630966 899777756 654573301 397763406 816817377 747798914 224325157 264965289 579318323 847754339 923714574 276861515 625437364 345814903 171664509 291979617 368281254 498480155 228575793 383753569 359702484 208979764 957092030 261136429 353801616 821029231 721516338 981035254 410451996 251853185 300788788 803883118 376342587 234913014 526148758 537159873 490648572 632878261 408167391 220079286 824731909 941117832 300525759 242871051 930775882 851284550 316015659 369381650 160201046 880404934 692136995 327488587 439065075 328187913 708676440 647823206 143602267 293727938 382006707 106517107 334610286 630703871 789915559 639919807 594551801 150702745 326559015 747673029 311553116 847987573 767412284 573064508 312023964 178345384 439963213 131178852 324389248 726641840 841382739 443308941 690903355 790669965 518260080 525535970 943436922 767173822 422128394 342978090 514275037 920086335 645504408 164540004 580990122 179746664 774522461 858536150 961685024 642902608 918680129 836368778 315663834 313781543 180155260 409538402 156721842 504079127 240907553 988925145 939336829 239398669 202430973 843905717 317413692 813935447 223385141 456783185 637100370 102186723 533969365 727683185 218187358 875059639 297358572 271236027 325245049 889109933 198884447 296724422 543139442 534331548 271077934 149221873 142346100 776256033 973047862 523756256 970511058 453987161 403843126 170531290 248271378 777816113 209979623 721401767 461203602 180434500 327613958 283784603 638194009 759510830 450544728 356415896 592031339 822179425 434682492 673789767 718269834 421427240 207705909 164223534 717439559 812861831 985567757 890391196 674122127 782691455 952460468 375812393 752534138 537288921 193237024 941295743 333427278 756939185 557376524 134580137 639995705 691282920 668835754 355920365 112656513 314378857 562271786 666618238 471370100 469753049 510920162 648736948 226858334 500857928 475334516 697901000 507400798 440190926 623069775 149479260 952786650 117137476 451389052 538202104 965616812 368180625 633720070 470395353 704532703 852746682 556031988 653392281 417518921 376936707 918906705 357275786 988902589 785409496 424712583 516480684 434152343 285374399 128281899 690422090 151727897 194671842 323105814 813776382 410242943 432570387 363365828 644491133 948801230 852295928 596672586 383667980 567102303 669317190 866230568 512870589 151421542 794989179 416050079 242742446 762477909 571825332 395120683 186870247 103618424 769575624 346832663 893785237 966411500 169975961 498234736 951936495 353805335 367390345 248584504 638141081 828681683 277265473 831681014 246716261 742907215 393491524 705123818 601493541 281247364 193521661 431851676 174664154 354535173 652491677 980559959 289163304 454493805 542540961 617099323 848045453 204094033 568462049 468243731 363305812 281719817 886334627 830107889 484351874 621098506 410043103 495236974 650996266 730512069 305496796 706112560 762845991 933126688 715107256 527861325 245814128 173771557 166802573 539123644 916261569 103031653 341915458 317238297 858987900 785336188 575990451 217813867 186431797 756788895 408063532 551292559 979204111 935734705 917199910 253500185 711784240 811282978 348942668 765748732 712965675 316176210 574496714 720250433 674227283 265599445 449123253 467773680 882555676 411532845 824435264 476597535 872086011 701457350 487071461 890624103 227779794 209055126 363492750 999749007 317320105 246909773 172452926 364538917 595200193 168161332 860050696 377891835 601550019 795688261 857088617 667735942 582744275 531428333 823728830 824386618 411193016 693911883 830038195 376179451 597411876 795191188 751224722 812721403 914980292 875413021 465288778 936963611 620652381 932698838 816749473 827695248 525267688 349469209 299141888 546926422 452907876 178517201 392257016 156139251 776559239 742971859 628538896 769225895 270000335 797672659 135610991 282376784 536507011 964190709 274545326 421067341 809832184 976244780 243199339 877748869 306524187 746826640 640738765 171404674 614157792 660309958 365937352 127928936 848032435 728037613 773590412 959063362 307552325 155274822 340224358 783145941 691607426 215810279 722665244 252155769 858583031 969618077 108833769 453806126 920896886 140682763 524076178 357766917 180272747 651710161 905611231 404335857 715872628 637718118 543377476 813617640 559606731 754173182 303220042 410474648 785141220 282118113 835835518 449771225 705791141 347419292 588746754 795134658 912818019 401114645 857929134 880296197 563354154 405905117 997328606 821773511 348531282 494401539 351640976 233620275 810189350 489322525 762302057 191973366 663460934 706313526 226707081 653525499 713197413 355504721 193184182 678323196 977517520 662620795 883863646 824741850 292126838 474563204 912544448 775629203 808306157 377207057 986405507 575159057 291379196 893433026 479379305 552271460 208476567 329433242 427257714 158724825 715162449 722565224 189381192 331759844 409951526 851159215 828865658 398634995 646193489 779072174 415624966 924557909 747071800 950259521 165590111 369370963 192486880 214428081 151491088 540731519 897352785 655725644 690213739 473129389 309173879 763730008 289978080 794805909 818026704 689812782 842168885 139975481 453606468 115028675 785432945 159942815 918590100 949990553 309432047 218433386 765336973 353288586 943785103 191971783 848411070 770577279 657372727 364234234 208193054 325302891 798059575 828103998 981025340 911194278 743697767 205580169 274901542 940542486 274766869 210754204 147809522 423059643 749932730 499856344 631293656 165155893 500511418 573728905 893376352 113070072 893516166 357216819 858704016 302766049 823993360 822799046 523177993 468136025 134657866 500986744 558553603 557585958 346460489 246990189 860706704 430992194 790829289 258381906 924924784 148041283 481782301 812766638 189784228 210638034 402983580 880735533 228860805 670950792 864938367 845389522 294124924 603028434 284126548 665345188 552549353 438432077 936804557 676169275 207569132 713754802 774177728 756751649 844564289 450730534 874705836 272157751 478431916 395422343 669404406 796585567 328134529 287880903 337052374 316386624 724510704 288154598 191821752 744629094 413743513 253751480 216718666 753895244 246718079 992132216 596921473 808562332 230795981 171482014 507660077 213139977 951794502 336060224 668366253 374341791 299986548 512113285 420911866 353308095 425701105 338472661 411332179 145587529 105452450 381531612 347986236 888315098 188420776 176167966 572234698 893320196 297529753 610872304 424479736 533524228 584532735 897572406 753648231 760469122 724453534 254271392 875061424 935384622 780677412 345025286 580305789 262260800 165939706 722942208 632788880 625641985 826455552 677108440 944322754 692605190 984509427 826382146 454156716 568660161 196896213 739545072 251405299 150746724 176134157 416591279 395958735 742726405 625742375 235655708 214516567 947898338 692326194 845044317 113951176 182291475 778988128 292613034 321290024 774098986 186924101 901677595 121812367 572350781 588529978 301503619 724373016 544956564 388602311 198913200 285323664 650123970 878966057 672904259 511679703 145513822 196867612 769310532 164887292 368540577 945766065 503634595 105387014 267071409 162382173 131350011 661624024 704531200 727705897 901697481 842202175 484950272 642020282 668753064 653046540 842592443 412241044 276038266 676990152 965284957 709125550 691871857 718074921 511143524 728302671 141742132 612123141 647538221 629633515 807991258 866106479 866365433 313859796 924936262 916395263 593672268 440379680 493668142 428387280 868089758 798592300 487925505 982406191 678917295 488584197 677898905 993933362 596506956 937909999 471370922 198655333 318149128 934861672 919723268 617548973 394351313 113104938 229194381 934796280 609473385 777435013 891610757 470168226 600431326 522926150 342260657 261337607 186184151 631831806 214830302 390521144 393432768 677633344 658092117 385939084 165440601 158145370 551393102 219940437 230602725 478511648 584087022 165473337 635139440 556986845 653447395 460326860 817108107 544946953 796467736 649081232 442889276 744018453 708940669 321974152 702222224 573400870 951164632 511973167 991756478 881654465 870011433 697763245 779597196 825963242 850176970 803106911 494721810 823785736 790428113 297099109 543629078 636175033 862535974 838942701 780074331 572748927 474937375 296734556 587292895 286283527 885032653 591706970 110473484 673473810 644807240 774650748 303913931 422467128 314870186 834102522 732065834 446907258 296239044 284542999 281760638 188934613 345293221 286895659 433386873 586698624 626662574 323707031 254651746 547652328 299692014 338927498 115640990 579681379 292768490 413270313 393255955 613163113 389498367 562474145 959194797 548523277 218962741 845187683 319304556 870973958 231597690 681957658 751822207 296905983 376526202 611968889 944672202 622539540 208073447 497321753 443809922 743218202 907773944 769051785 251072736 764764834 499801344 733126807 576379061 896657628 512797728 600289155 197100276 202153579 939602688 516247275 253968562 314197841 570575213 947586763 179154093 242165158 151652317 664925754 740684660 415810347 544359794 145313754 266226725 633878574 279313394 976088086 707071762 243837229 544004924 667064557 311012283 289357570 439744679 929451083 915118413 183717415 615671931 107119313 766897144 448863823 704907318 947887916 158115489 785841893 967253035 302756967 893563443 883723295 247888612 879922606 678636210 774818412 934406432 540991673 593289015 361461687 510876289 807164670 935655946 634247233 433950344 794202361 153983738 267363492 135334992 215092485 625608328 412722017 718841837 767484210 656071993 203716737 416323086 759011247 129420363 746423701 695293604 270837676 734986057 849153625 504502042 432373134 427353854 772360956 223432232 205392325 106224629 574589889 107183787 446078234 764586998 131455237 898383142 852964240 209018807 264845476 613571197 303956270 109113548 452677865 226529003 826700826 279711817 624973543 276564212 811143599 553295616 216933376 105238925 840236642 143945117 213446317 140575154 939114800 491784637 583410571 523370730 176098923 851953923 495120403 969459457 372006847 391667713 317905540 950986222 430091542 354550778 721726809 126131631 426883931 357508015 646250197 290636783 526391122 729628878 653665364 845718338 387473759 682654522 491676824 645839274 175777575 774914860 525367208 217896905 596673335 268499493 379572615 301186612 883000773 211007019 532149304 478207633 633692169 935666618 386951306 725943169 399012401 923670079 194505574 184497425 633718153 412460530 201222454 448274146 367735098 199991618 167343794 265973196 553321406 495512080 742799601 545286633 613596553 953567392 749109277 465235048 924078428 888341036 195393796 578178890 141954302 880178713 381268174 359688083 659271548 637773490 275381270 864217131 800927363 637073443 864618700 467210711 638580970 735808051 347704823 315240587 403592604 284813077 657390155 306476086 459774100 399180355 722630102 936315502 555032873 824178547 896003677 512144732 576129059 463951676 815879197 451845492 572081148 184949880 900710970 437273391 658475292 342295344 860044154 189190422 756593051 549030023 183534031 877883347 338239414 456298249 371756663 579735473 109067300 474588105 343984290 368755424 110767810 508349596 209290807 561397321 454115066 121246598 909608860 722203241 837362001 399847476 802566607 106354916 159959158 194716311 557152242 897951049 905993170 271745852 324878086 773161969 870991947 264029878 873703987 811367731 851525234 781427036 760251436 937728639 916267817 419279051 132080430 638891121 769002112 476924292 371811664 612213172 822342899 971531674 915651083 443019781 903496883 157422074 301146959 673569426 906013671 197980317 746798981 534064320 403060608 932355467 223032297 832768356 478066821 349001023 416296977 207459048 750143639 582209225 959313275 757576546 122478367 786171210 522545840 654154368 530431094 998513322 571173184 584072216 188632157 936204445 315976391 578251998 109952040 909211856 498560643 987708014 868128789 553257409 388484062 986829493 633660804 764723531 321388027 759426579 924533447 855816344 492484800 878383809 388753844 783261205 147421948 950272440 973767093 765121030 477376374 645561484 917358626 706068908 837862924 755718133 339774499 516815188 825770680 124895313 961715315 160085391 183699533 848747281 408864375 539830596 408703407 552875205 211362192 400104384 677052098 775219657 146712643 775773177 855627038 804665123 655182410 988658995 506669359 574019403 796042022 593837623 219666637 476174184 987808826 459656318 454267651 431681287 636190931 502026296 647308788 865358222 999089711 583279141 964591045 292908765 346378244 843159794 304064288 448716265 930138453 825431367 109042225 676536154 182637883 778301414 435428125 841754166 928045013 487191102 820301817 967250705 797587698 360852778 678245817 198347284 934102929 230168975 789590474 349626391 328708013 569374348 860677618 351670025 838355848 183051117 948504754 718453172 197436161 586608352 717082793 380761965 506899499 708580944 369298993 381791728 175298061 944209176 261973370 780217609 442407316 154156106 502889145 212869122 302498822 626496002 988374077 338625400 752594829 269622345 203997854 548317113 554629390 725767354 353710754 598005020 613556632 896313345 128491315 435687466 399617682 297170526 686189027 659490242 556371965 759090235 970179846 804538676 861438291 495051739 877673244 263160730 458674715 552685871 302073939 303087558 989648396 993667423 419002068 470815014 777226993 779421515 445131801 557487926 560647780 263880390 858454855 419900625 792722396 544294903 114265064 561737125 227960057 444885729 479262060 943466726 892919630 736421654 360952664 853892252 897311195 173250974 874119330 598842270 879029187 978281969 996266224 551340431 124541973 855600395 204112472 652832273 754648120 455840947 331677159 420065445 565965730 796517071 578449242 755398432 990562388 100524808 289272903 876312176 354770709 351582194 895586237 546108510 144582506 579281630 628125371 653006650 345898309 184328838 422580063 905539288 438450716 605405844 517249780 933440640 604521076 153115670 187732658 218004534 635506528 551258495 841432398 114614214 573240828 733862248 866557028 680301349 194029093 759217200 559429559 910720506 477539115 143909456 687042508 260398089 437421464 898338229 242846315 107304218 587590679 100189503 333742035 350151279 932322636 168069922 373489244 527830479 253010797 786606658 790577247 363869271 246535958 217356961 174674015 319820565 319263362 692330537 440699394 876609879 898970711 341515044 226110316 866027252 974065978 486042995 201429478 858236734 611934991 590092341 696534895 427257921 719377038 369255232 605681532 119054302 536546238 599116879 478971698 311372168 137181985 448578936 861672872 822895889 618180992 712899681 634816924 696227840 539404590 997331966 527937654 540368868 893155609 780974295 581705177 553220925 289664544 302547900 730442302 479103742 606578098 144289173 474648050 715171990 865175007 132890420 367681996 545437123 956102670 214640885 795442041 536030283 890116915 593373002 637213513 285410520 916071781 833690685 162031499 615042395 367895257 104563599 727879588 846273640 475825828 153868075 284190989 865252699 874913458 889750121 117792199 450743213 881966306 401559283 748119571 196128446 145549253 958799650 482462293 894527230 407560902 694354282 286857019 902575223 676941822 475839553 735622907 394378328 165518112 754476175 505318450 283683306 623230425 628764459 113745328 292647057 251136358 607687027 651582538 892765220 293715145 823053110 267550427 816605066 648209024 246180834 535858609 132308989 265534169 281512204 620639314 581964628 324623441 602063512 482953994 482210623 256528009 583178249 851666274 182600698 965508336 402342336 736721260 402506435 292524131 654492833 935309129 435123172 198584104 298377557 567427158 281061204 885109149 654036674 461230143 358810000 821587987 787304794 629139766 375596865 478593093 833025616 409076348 954444041 119256277 621090809 809267658 802719927 245246704 274716069 196879163 858257842 976449938 668348503 500992035 360884107 949111333 124968928 783910558 962646273 597369653 141350707 179185468 752766316 915521823 618499856 387840601 503935160 303142932 871875443 159960031 856762650 375167214 937546901 607623877 707639812 280345149 431312492 218124862 872371986 991113260 457560541 882788043 383193395 659304579 290264147 332082138 344705165 883022662 659087454 241516375 606994551 309646175 583599960 171152053 497371697 302973021 886264547 656285714 470738373 915945445 902708559 432362937 634136480 974552861 543338669 930026217 519176039 921207275 986843171 341169859 290504939 363154446 504246420 465268779 580489211 384285230 366103412 740414677 288640166 587941223 506511204 854694081 856485297 531668752 791563086 827535169 531503496 588730396 979732685 854134597 377523202 987514773 838968824 330330939 908029433 537134047 162826799 196601823 949175166 314302297 448882725 551381105 205557714 436344309 212564554 395946961 407367846 592876559 831479989 408795412 994155742 538595754 731356040 409563561 299247621 475042424 513900767 689176237 667508832 745592233 896525471 483282312 729021788 958474817 322035234 965410249 826766405 168603371 155123027 145810760 492156387 696902951 517657244 432972818 707801262 492239432 113492552 851807660 925160714 143285556 573867875 356899390 177850153 820733599 992098619 118213740 391084893 467095540 327472760 539038579 703195346 118519771 170679919 739200653 119076592 227363305 846885322 572958408 374319933 633773952 201111684 399378105 428360217 162745204 680813025 515970047 823424741 167860114 105788042 547536629 800926917 635708435 655699537 437908082 825145511 422508935 594239398 516162752 293365351 652707537 887396074 978331505 419133518 110511018 460408516 729222569 668676058 894490305 643015582 485758393 996922801 904614804 256125427 651729724 268712837 901447981 465039451 551869171 440217522 210205521 848094977 984812016 768835890 695011063 522867717 864214243 974301177 368662731 224090261 629746812 261464263 627256216 858649235 272840451 564466570 627816881 757344660 420770971 316292737 650239911 897355344 481795833 856199125 192614222 652473712 712329826 479784554 655660572 866333008 195508199 601627943 113168090 215569092 862689337 360879416 951705066 935511328 824638780 732876170 669271612 246005664 639077668 770211446 742652515 248654665 377898256 990267479 824350749 898739639 327069221 939995100 202628073 337941716 939643633 968596901 551925045 826982418 944241265 737993840 162061756 371351848 367208535 623959285 820796381 401323393 939014319 398899406 397186522 810266327 669425053 214447347 761338219 261782697 443530115 646147894 759315549 135052790 104119894 147415139 151211110 354997835 389872664 241550397 170986395 190106193 403715008 675895411 208973519 185162002 699152189 324020142 746812654 666723253 181464176 137723755 696783408 395938964 979113324 842676246 713936080 400275629 768166303 418640283 392419631 570662423 226600802 441022200 714977569 983912529 439996074 617573697 882440194 168616643 822916600 853088946 361668344 163280947 364462251 200561615 740790414 900030782 796646908 149089862 854589067 263951002 763439707 247001494 770468345 589259856 990041791 219662702 590047101 380456167 480428055 352399931 478840376 824046629 865587058 217927082 110784899 114735204 533174985 652156107 613016938 426972950 731123959 804108012 310857585 626213208 842181202 917083289 426330125 415818517 553374111 823776727 691706401 705546858 102374142 412358275 883340012 614226045 349969555 730710262 201753708 582940658 823391569 944047897 610277415 268499676 881375003 867058321 518884669 529933018 687443465 550598693 832664533 818738855 225713753 769644946 760723078 297978533 193199291 747936477 953518134 585194627 483274287 823823203 228785902 698523455 401074320 115209790 536617965 942909372 336570855 478699973 236821791 428087938 396356139 585509665 126202626 767891321 599593161 426730844 973109563 115411325 963036514 398598474 262625158 848132386 770949982 995395386 911566595 668938463 883265193 144257822 646509633 137293932 182556638 398897770 589999683 299569225 436307683 985684330 681193636 891187904 794393131 213427380 201990686 119214163 535939439 745645642 392172898 653332630 173335666 990973612 663844107 172801612 859623398 471900667 890308918 984721118 467851270 381941075 570713940 597612224 718872971 704697371 256813136 569578424 362123599 973295891 408064892 891557476 183858347 992222664 616364233 198858021 323334758 471401860 286598423 921275208 447613387 556193363 850660176 322111481 125664938 751502260 914714367 332110050 242229603 719104162 350636728 504038987 830786628 773436549 528445592 892475779 561739135 334380671 259626622 949988901 135579607 360456227 533270179 788924201 268827046 455445666 234030608 151784583 873931909 789432231 622728175 991275722 924051508 484864303 538428952 252748919 623909159 263051462 428230210 206736331 780031627 244591949 929667275 669587015 337857484 176339674 991340910 846340683 759777383 913739269 844512247 978959891 938935183 459077795 884961685 917209023 104637626 557158802 287961140 127887129 603262352 943977192 348107266 739098878 135954235 428220151 239743994 268256801 343498343 410960010 488087439 505395986 633497160 796718710 751421494 834668355 562503843 142239906 198819847 442313102 776646348 704768031 987295177 822970094 274047550 130783200 585383641 345974234 651545680 847984479 632607491 278579477 929521746 493824130 754985656 764527537 598489799 825857012 789375944 938751056 528266756 979158203 177645658 749532576 508726896 510407513 982612607 104607573 856083423 159147095 360893122 882314241 420822987 178391419 336531320 709131245 351487417 262908191 352251761 785067875 785015566 432782379 515952645 203849110 696889797 111652328 882881790 101773308 412474047 974238243 219950610 533917674 389590005 425163313 717908261 975900829 128670866 914365173 760557991 956438351 641494331 635045972 308730338 485628962 732510974 243982994 451280269 959087955 699576356 589557915 987648863 219022680 773633642 688319806 511392593 359309212 237794283 222881618 742646943 608825650 944429557 124954806 249507043 274849989 336419144 470575501 260011030 999821592 153344348 541105012 796806144 749171650 819016389 150026351 399836214 251552110 414615440 841053835 556927881 109972667 699089523 301314867 351947319 537821884 466136223 306806319 576081649 447479249 643258809 199628949 943713803 503118075 406824569 627651293 568005431 470213985 358216570 553465275 517820015 882364453 153798720 961703443 294157420 294680855 663763957 568930806 849690430 548697441 979793972 135444443 726773699 580502618 937614853 185322915 165147783 771370223 657256548 399291683 147136277 157034105 666631064 583633186 132532700 101553732 372734320 208881666 153502029 819615221 487464578 316690690 390588949 505668967 488146061 958216088 534367137 746591927 247074280 344637683 662436799 165200842 131731003 548996643 860738888 857808887 772972130 444988608 931577624 659695685 917392088 648063365 735658263 856839180 517514727 877933487 934890888 627177928 191281502 499964596 839728788 792026660 400453894 364114972 487071102 545985710 475879398 956056680 694816913 301813681 761878373 754392420 342042884 620438293 286299030 281734750 965751098 825926710 164310000 169956673 722201875 693278953 692200572 842995247 177195268 215794925 339607946 178656962 216058994 406564345 735625204 347559986 103551926 847806528 778689167 153130694 491991176 250100563 475099872 374004151 474999545 919696259 841711676 835941837 131852023 734733171 205537785 638406120 942239624 972029144 982398813 853909972 223005314 672463497 109758782 581240358 874988024 161194087 258093684 471003528 245241993 672557925 335123503 416011354 381398745 106988666 170419407 136981836 600948815 332436257 197924378 203876763 425533958 103358502 612872506 473188966 941666797 884789207 244328387 762307131 615296246 595889598 972924728 906708025 365352319 215488422 703043932 634224723 192693411 927659432 647008509 515290292 152971140 265213897 822873524 412194769 638863561 531764958 116465117 826265983 176098838 835175966 988062125 381396272 167716008 551043541 148312277 639261417 518323037 992802388 349170989 517255582 815311959 537870360 735760586 236608604 540243040 185047287 676005060 839929713 860778665 666276962 944812676 497193134 535090372 202720389 863667046 926642998 576719699 572366649 657491998 270414980 241896154 330424987 962211553 786818605 802752006 298287557 795356637 411636218 303318940 699369722 996694874 107044790 503002036 860045606 834003292 146482409 687209029 568779725 688437765 300907863 732436109 676434672 174563177 702523122 229176016 824599981 595672120 224744869 871432244 973884592 248946935 704825253 723677019 352039454 325243534 431721884 552642904 935149474 680371662 406245832 867810720 298244925 521906113 136935748 932943783 323037104 492649273 603214722 911700770 568600448 553454418 692489078 494660668 613475859 186171891 185320734 971227964 146331623 490962624 158299915 586552140 767517008 517555735 548639135 370191502 364038945 263926229 930167089 451565182 231003409 669058936 201565350 449285157 242297442 521019816 578754998 424721701 804367054 518800358 207232016 877813449 703699383 589031285 164626597 605513666 993373488 561408455 243457997 273990734 787858340 741014351 742822168 676475454 177040331 635171710 304203127 843337569 693260922 918293809 847879425 851077189 882314016 923449686 880128902 848948608 800300330 153341687 381710307 678039517 339992758 905444000 471941595 546631052 782018044 441844845 257513597 874976654 663153690 693487708 925791822 275158620 342902999 195479710 812909275 806323503 684067702 251689257 331963881 365130849 289986118 945901286 211769305 360823522 960314283 603664081 826904915 114142827 405151790 247231620 451384106 685329575 554725729 400883166 730864849 308110737 902900258 511277688 302980264 693729181 340871142 132683637 718657283 804805617 425328661 747755880 789031985 182866512 601945868 807574734 651129010 912820829 240013248 598674847 815720696 659024003 387497228 124877939 218207253 972165495 948646546 348903655 416734687 186023465 926552230 872559683 650027659 430218575 164146903 748817521 542488074 318209606 343770057 886873388 573600684 260378121 172957082 954731739 845346375 633271721 986756955 667605754 222250805 588745972 692809952 678957997 669270701 559643642 848063897 738601792 187873373 779735266 175817467 929869469 992888450 469822236 405883884 446637262 795558215 885054991 130263397 249965450 377750891 334693890 267794989 708238591 100385445 942304591 797759204 198672372 530740056 900770644 942237346 701204956 258401360 637581599 865800274 254766822 154927555 593411598 617119816 490750655 590186187 197522861 227800470 981104773 199194418 128688826 829479084 707125865 493749490 717018266 615830791 850880477 475909315 864137842 989008891 974404783 499829932 856529478 672297346 719032275 628857176 112615532 296653554 468507250 558532267 517298075 650383927 239896617 562101479 294296254 738172225 941704867 699801283 970638103 211317375 396154982 563203377 158915724 531906367 745934419 145952282 794819757 340933324 529527470 751173755 628534101 656677523 794170500 837785578 905554737 293811262 901881080 753254852 692324656 548431666 128234804 894589260 520715159 506984082 179285668 545625235 951153645 571731134 938751748 840919732 713952641 180322575 986912354 141798867 432522000 378493588 973585120 676194587 102532754 392120490 251268340 213014959 272853361 458255988 823149416 395827353 460328615 280376345 736054584 727110113 578836203 708907316 404359691 675893888 726678762 483033401 203930905 496914791 588344104 123582535 657003508 528302699 962041345 217928997 414815170 720448392 636927605 343042248 990222709 843796449 330012632 808757082 569561121 200933325 367832873 696172459 973329602 907625250 497030431 375323419 296444702 620638853 914371121 163502151 625000851 283553395 766560274 913081971 432552368 119866194 635233330 370880938 340916425 203477807 559887145 622638583 203548393 106515841 563726726 959804424 837416170 130147937 630196648 932816768 720398328 995796451 421026526 753218976 769803049 315016853 583331260 839467298 733101258 213049622 898788540 687686248 433654887 485618365 408805550 290286401 467219421 134967007 999021812 829958021 552519649 413260905 362046431 128673189 388794300 392458015 697308766 286825203 154796118 956706108 317311318 878133162 764093440 490663125 116446324 957690369 434435151 754079171 110872234 876106302 291652258 360885069 791066846 499990510 896694218 654016791 793613967 664140076 177539407 344024695 245137034 535918228 652469814 432066862 737725796 106953798 241447435 945207405 331450264 713728313 339266883 921373828 534587037 907734628 655281946 259104697 343841952 169354777 890166806 503790819 315651123 349616924 359865827 684413039 188850074 150527353 360341136 679362329 268263386 979864634 824201926 728796459 651035139 713201934 678924990 497791983 344334996 576469064 637523520 886467686 412192605 111162974 974479508 913841719 374973969 161631122 170812255 152018335 412352977 707739598 861782863 765491743 359724658 737518249 774452248 570093908 224868847 645286756 677947406 849528046 248576777 602828294 538107346 892455441 598659395 159764866 604538821 221681700 879482090 120424702 296445099 625112698 833200039 664479316 137339057 124425749 882982561 318978814 318805859 767051462 356903062 200495359 689930251 529774887 794234460 696461332 827713631 307370832 176333617 329973628 478935090 957421120 124355700 779647566 712190301 858247993 714623631 897859830 334362241 304907879 828913966 488649698 769978217 194842575 687877083 745306914 968188184 942310206 647059915 813146481 252275840 647415863 679770233 423747936 130683867 458323596 656656385 740560234 212329433 557388021 910202786 620539131 492245998 790824561 379382697 784737249 672760983 896587984 504933231 307916471 248465719 157676205 303063951 913396285 528943792 859041502 507742730 776252173 455182745 551288006 252627744 766338902 228963012 524147727 272528104 658150157 297105923 571283515 199601069 457780551 180334063 745589671 129805769 162580736 764129706 170063393 124396005 373624929 367022159 248949672 520780999 374639702 108005034 255338924 493478368 730297598 616897898 277150195 528166072 466799028 406476224 847308776 900824843 380602783 326057494 567626532 835484467 752119373 736680160 482181604 724594284 749588161 932093712 337848630 309973637 264628064 779215316 649391692 161660095 169036411 607345559 106491662 891267308 348708031 581542840 892426414 450828367 657037339 345007199 431233888 640636082 145055548 334146457 548591067 438238228 432914711 776073870 353518719 275185199 973305249 864806620 345485255 177549871 814287500 939606105 845408946 362313109 362925051 684534742 446971025 208601199 843303397 442488215 509512463 378027475 222064658 415059746 410420405 980118260 231683743 238318840 115938965 958901498 413436071 851992478 315924941 116777639 825952836 608260825 498749567 671148087 886099725 446819679 317787915 593718591 997938283 671155190 210353712 504463093 209349346 585780333 220268231 591094198 270323027 584393036 963681090 605197397 485309337 341276405 962676702 856303990 838654472 585690900 750788540 912372628 747457042 104029404 431285887 166422863 730380566 199225036 541441926 251334536 203831054 881881972 589444358 570752029 275038748 266938819 351635008 628023703 421922082 992661544 375454129 898496963 470358914 462405659 653487681 157057114 488994410 262008201 215455461 800473700 736635762 807772508 534838074 613741137 915741294 122749841 272493628 316316457 566263399 126783911 284575824 784396340 180745142 885029845 699735687 701208340 180037789 821460926 637344985 752365275 156803420 193829166 533184769 616095847 884509202 922156969 762681087 213854873 899913603 316399938 711219897 417597895 395338973 939131404 920987476 751655617 486224277 202985201 533290267 304740894 244626380 523244499 266687508 391202079 583127857 762526399 939788262 219250054 586017341 106831260 835805940 797562660 342878470 340215488 516245294 885522137 285381703 713806350 320293423 678067558 460020373 144352254 817061281 610693475 270338133 510129621 618308785 245521434 415513197 333756383 941337245 845954555 571656791 563005294 654753071 357663614 370395233 650092464 799836311 521183045 408385938 495491302 697879390 902903213 176261350 267253739 887413130 465115599 200785984 902291671 658684298 904842641 640438516 847345921 110029840 667321601 254575205 551936395 925647706 770750241 855819480 774135944 637682416 817660346 765923790 596807372 924127187 550469469 552320210 389839022 342770323 298159277 105970139 831562886 810810663 641007983 564597126 144092362 757304736 627570747 383321104 479156691 130095353 765488427 282527872 519294317 776712576 576605737 929137160 677300784 749498308 741101050 621532042 980415465 376106078 277065725 951689963 325440637 649946838 797813710 168920278 868093931 404481277 638486297 990943348 142306138 530138826 299431853 431603858 229940354 366008651 851322368 663537715 657254030 645766214 185603735 304599697 822914747 209455292 936209748 763231598 499836977 717024839 450130937 642646699 690508617 357643060 239111622 346660938 206076890 450217070 917096112 658952196 547344733 761550591 920095741 773354876 815326546 885492382 731593081 800909975 774057517 179287439 512333347 465269077 441961497 758263636 802809207 793758357 311618564 401633947 682076387 684745257 358988222 448193149 820308006 578158341 649162308 583010362 222279819 491728464 310805890 725263615 268486635 300264196 784760270 635147158 344950441 941167294 964666442 821738882 715587582 136651004 503121773 492719249 706125350 357967432 556430717 701423191 285472380 416923166 298571590 246631200 341248155 999147908 163372621 887443441 542461237 320742640 105556505 326287844 924965147 247682369 461307943 958600753 356358990 547645558 488094483 343170288 486146499 873386686 881645981 269202272 124046742 354094510 740147694 668987152 857419283 357762619 438415898 441755924 949728434 519980987 452594969 214878283 147233894 519439793 755282488 862203469 405488857 479126253 291220162
